The prior ompi_proc_t structure had a uint8_t flag field in it, where only one
bit was used to flag that a proc was "local". In that context, "local" was
constrained to mean "local to this node".
This commit provides a greater degree of granularity on the term "local", to include tests
to see if the proc is on the same socket, PC board, node, switch, CU (computing
unit), and cluster.
Add #define's to designate which bits stand for which local condition. This
was added to the OPAL layer to avoid conflicting with the proposed movement of
the BTLs. To make it easier to use, a set of macros have been defined - e.g.,
OPAL_PROC_ON_LOCAL_SOCKET - that test the specific bit. These can be used in
the code base to clearly indicate which sense of locality is being considered.
All locations in the code base that looked at the current proc_t field have
been changed to use the new macros.
Also modify the orte_ess modules so that each returns a uint8_t (to match the
ompi_proc_t field) that contains a complete description of the locality of this
proc. Obviously, not all environments will be capable of providing such detailed
info. Thus, getting a "false" from a test for "on_local_socket" may simply
indicate a lack of knowledge.
This commit was SVN r20496.
Studio compilers again. It has been broken since
1/14/2009 when some changes exposed a bug in autoconf
and how it handles support for the restrict keyword.
Basically, Sun Studio C supports the restrict keyword
but Sun Studio C++ does not.
I am also pursuing a fix with the autoconf folks, but
this change was needed to get things building again.
This commit was SVN r20351.
before trying to use it (e.g., it doesn't seem to exist on Cygwin).
This commit was SVN r20343.
The following Trac tickets were found above:
Ticket 1618 --> https://svn.open-mpi.org/trac/ompi/ticket/1618
''once'' and keep the names in an argv-style array. Each time we go
to open a framework, we just scan that array rather than re-reading
all the filenames from the filesystem.
This commit was SVN r20309.
The following Trac tickets were found above:
Ticket 1271 --> https://svn.open-mpi.org/trac/ompi/ticket/1271
It happened that if we supplied:
--with-ft=cr --without-blcr
then BLCR would be loaded, due to a logic break in the old m4.
Now this works approprately. This should be moved to v1.3.1
This commit was SVN r20296.
component name against the filename and ensure that they match.
Ignore the component if they do not.
This commit was SVN r20291.
The following Trac tickets were found above:
Ticket 1587 --> https://svn.open-mpi.org/trac/ompi/ticket/1587
The fix for #868, r14358, introduced an (unneeded?) inconsitency...
For Mac OS X systems, inttypes.h will always be included with opal_config.h,
and NOT included for non-Mac OS X systems. For developers using Mac OS X,
this masks the need to include inttypes.h or more properly opal_stdint.h.
This changeset corrects one of these oopses. However, the underlying problem
still exists. Moving the equivelent of r14358 into opal_stdint.h from
opal_config_bottom.h might be the "right" solution, but AFAIK, we would then
need to replace each direct inclusion of inttypes.h with opal_stdint.h to
properly address tickets #868 and #869.
This commit was SVN r20196.
The following SVN revision numbers were found above:
r14358 --> open-mpi/ompi@dce72aab70
The following Trac tickets were found above:
Ticket 868 --> https://svn.open-mpi.org/trac/ompi/ticket/868
were several more CIDs on the same source line before I committed).
This commit was SVN r20187.
The following SVN revision numbers were found above:
r20186 --> open-mpi/ompi@423cce4b0a
Also, per chat with Jeff, modified the Makefile.am's of a few orte tools so that they were consistent in the way we generate the ompi-equivalent cmds.
This commit was SVN r20165.
This commit fixes trac:1691
Thanks to Matthias Hovestadt for identifying this issue.
This commit was SVN r20114.
The following Trac tickets were found above:
Ticket 1691 --> https://svn.open-mpi.org/trac/ompi/ticket/1691
corrections to non-windows files (but within ifdef __WINDOWS__)
type casts, event library for windows use win32.
in orte runtime, add windows sockets handling and object construction.
This commit was SVN r20110.
changes to the already existing ccp components
event/win32.c: merge old FD handling into new
opal_installdirs_windows.c:fix the registry handling
This commit was SVN r20109.
Basically, the remaining problem turned out to be:
1. closing stdout/stderr during orte_finalize of mpirun
2. inadvertently setting up a write event on fd = -1
3. devising a scheme to more accurately track when the stdin write event was active vs closed so it only got released once
This passed prelim MTT testing by Jeff and Tim, but should soak for awhile before migrating to 1.3.
This commit was SVN r20106.
The following SVN revision numbers were found above:
r20064 --> open-mpi/ompi@a07660aea8
r20068 --> open-mpi/ompi@ec930d14a9
r20074 --> open-mpi/ompi@2940309613
1. minor modification to include two new opal MCA params:
(a) opal_profile: outputs what components were selected by each framework
currently enabled for most, but not all, frameworks
(b) opal_profile_file: name of file that contains profile info required
for modex
2. introduction of two new tools:
(a) ompi-probe: MPI process that simply calls MPI_Init/Finalize with
opal_profile set. Also reports back the rml IP address for all
interfaces on the node
(b) ompi-profiler: uses ompi-probe to create the profile_file, also
reports out a summary of what framework components are actually
being used to help with configuration options
3. modification of the grpcomm basic component to utilize the
profile file in place of the modex where possible
4. modification of orterun so it properly sees opal mca params and
handles opal_profile correctly to ensure we don't get its profile
5. similar mod to orted as for orterun
6. addition of new test that calls orte_init followed by calls to
grpcomm.barrier
This is all completely benign unless actively selected. At the moment, it only supports modex-less launch for openib-based systems. Minor mod to the TCP btl would be required to enable it as well, if people are interested. Similarly, anyone interested in enabling other BTL's for modex-less operation should let me know and I'll give you the magic details.
This seems to significantly improve scalability provided the file can be locally located on the nodes. I'm looking at an alternative means of disseminating the info (perhaps in launch message) as an option for removing that constraint.
This commit was SVN r20098.
and components from the home directory for platforms that are bad at
reading in files from home directory at scale (like Red Storm)
This commit was SVN r20069.
1. fix a bug in pml_ob1_recvreq/sendreq.c, buffer was made defined where the request has already been released.
2. complete memchecker support for collective functions.
3. change the wrongly spelled function name of memchecker, i.e. '*_isaddressible' should be '*_isaddressable'
This commit was SVN r20043.
because we wasted a good amount of time today assuming that it was
returning the actual netmask. Specifically, we were confused why it
returned 0x18 instead of 0xffffff00 for a class C subnet (the
head-smacking moment wasn't until [much] later when we converted 0x18
to decimal, which is 24. Then the Clue Light(tm) went on).
This commit was SVN r20002.
This happens with really long paths as part of the variable name.
Found in MTT testing (where the paths are long). This will need to be moved to v1.3
This commit was SVN r19989.