Thursday, October 29, 2009 2:27 AMDear all, I am using the windows ccp 2003. I want to run my program on 2 nodes. Inside each node, I want to use OpenMP since all the processors on one node have access to the shared memory.
Can I use only one processor from each of the two nodes? Then the two processors will be the master thread in their own node and pass message between each other. But in ccp2003, I can't find the right way to specify two processors from 2 nodes with each node having 8 processors.
Thanks and regards
Friday, December 04, 2009 9:59 AMHi,
mpiexec.exe -hosts %CCP_NODES: 8= 1%should do the trick.
8 should be set to the number of processors per node of your cluster!
If you are interested how and why I've an explanation here:
In 2008 this is much more easier done by
mpiexec -cores 1
Launches an application on multiple hosts.
mpiexec [options] executable [args] [ : [options] exe [args] : ... ]
mpiexec -configfile <file name>
-env <env_var_name> <env_var_value>
-hosts n host1 [m1] host2 [m2] ... hostn [mn]
mpiexec -n 4 pi.exe
mpiexec -hosts 1 server1 master : -n 8 worker
For a complete list of options, run mpiexec -help2
For a list of environment variables, run mpiexec -help3
- Edited by Johannes_de Friday, December 04, 2009 10:00 AM 4 to 8
Tuesday, December 08, 2009 3:38 AM
The following is one way to do that in CCP 2003:
Assume your nodes are node1, node2:
job submit /askednodes:node1,node2 mpiexec -hosts 2 node1 1 node2 1 <cmdline>
If you are using HPC 2008, it will be easier:
job submit /numnodes:2 mpiexec -c 1 <cmdline>
Wednesday, December 09, 2009 8:45 AMThank you Liwei.
I have solved the probleme by using "mpiexec -hosts2 cn01 cn02 myapp.exe“ in the command line of the graphical interface of ccp2003.
Obviously HPC2008 is more powerful, maybe I need to persuade my boss to update. But now I have to stick with 2003.