The real complexity comes in when trying to schedule on particular
cores in a machine. For example, we discussed some real-world
application examples that wanted to do the following:
- Launch 1 MPI process per socket, pinning all cores on the socket to
that process
- Launch 2 MPI processes per socket, splitting the cores between them
- Launch MPI processes on unused sockets/cores on a machine (ie.,
some arbitrary mapping of processes to cores)
Then there's the desire to have the scheduler provide all this
information -- hostfiles are fine, but they actually represent a
pretty small portion of real world usage.
On Nov 29, 2006, at 2:17 AM, laurent.po...@fr.thalesgroup.com wrote:
I agree with this solution, for the machinefile.
Using mpiexec or a spawn command, you can add the cpu number
attached to the hostname :
mpiexec -host [hostname]:[cpu number] -n 1 mpi_test
or, for MPI_Comm_spawn :
MPI_Info_set( mpi_info, "host", "[hostname]:[cpu number]" );
Cheers,
Laurent.
In the machinefile, add for each node with M cpus:
myhost@mydomain slots=N cpus_allowed=<set>,
<set> being the subset of 0..M-1 in some yours-to-decide format and
with yours-to-decide default values.
Best Regards,
Alexander Shaposhnikov
On Wednesday 29 November 2006 06:16, Jeff Squyres wrote:
There is not, right now. However, this is mainly because
back when I
implemented the processor affinity stuff in OMPI (well over a year
ago), no one had any opinions on exactly what interface to expose to
the use. :-)
So right now there's only this lame control:
http://www.open-mpi.org/faq/?category=tuning#using-paffinity
I am not opposed to implementing more flexible processor affinity
controls, but the Big Discussion over the past few months is exactly
how to expose it to the end user. There have been several formats
proposed (e.g., mpirun command line parameters, magic MPI
attributes,
MCA parameters, etc.), but nothing that has been "good" and "right".
So here's the time to chime in -- anyone have any opinions on this?
On Nov 25, 2006, at 9:31 AM, shap...@isp.nsc.ru wrote:
Hello,
i cant figure out, is there a way with open-mpi to bind all
threads on a given node to a specified subset of CPUs.
For example, on a multi-socket multi-core machine, i want to use
only a single core on each CPU.
Thank You.
Best Regards,
Alexander Shaposhnikov
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
--
Jeff Squyres
Server Virtualization Business Unit
Cisco Systems