This topic was raised on the mailing list quite a few times. There is
a major difference between the PSM and the MX support. For PSM there
is just an MTL, which makes everything a lot simpler. The problem with
MX is that we have an MTL and a BTL. In order to figure out which one
to use, we have to call the init function and this function initialize
MX. The MTL use the default values for this, while the BTL give some
hints to the MX library (about how to behave based on the support
level we want, i.e. such as who will deal with shared memory or self
communications). As there can be only one MX initialization, as the
MTL initialize first, the BTL will always get a wrongly initialized MX
library (which can generate some performance problems).
What Brian describe is the best compromise we manage to find few
months ago. If you want to get the MX CM to run, you will have to
clearly specify on the command line --mca pml cm. All other MTL will
have the behavior described on the README.
george.
On Jan 13, 2009, at 20:18 , Brian Barrett wrote:
On Jan 13, 2009, at 5:48 PM, Patrick Geoffray wrote:
Jeff Squyres wrote:
Gaah! I specifically asked Patrick and George about this and they
said that the README text was fine. Grr...
When I looked at that time, I vaguely remember that _both_ PMLs
were initialized but CM was eventually used because it was the last
one. It looked broken, but it worked in the end (MTL was used with
CM PML). I don't know if that behavior changed since.
I just tested 1.3rc4 with MX and it uses the btl by default. The
reason is the cm init lowers the priority to 1 unless the MTL that
loaded is psm, in which case it stays at the higher default of 30.
It's a fairly easy fix, I think. But the last time this was
discussed people in the group had objections to using the MTL by
default with MX.
Brian
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel