- otfaux:
- fixed build error on Solaris and NetBSD (removed -lm from library dependencies)
Changes to VT:
- vtunify:
- disable OpenMP parallelization if PGI compiler version < 9 is used (threadprivate not supported)
This commit was SVN r27316.
* Minor man page tweaks
* Use existing ompi_mpi_thread_requested global
This commit was SVN r27308.
The following Trac tickets were found above:
Ticket 3309 --> https://svn.open-mpi.org/trac/ompi/ticket/3309
We ran into a case where the OMPI SVN trunk grew a new acceptable MCA
parameter value, but this new value was not accepted on the v1.6
branch (hwloc_base_mem_bind_failure_action -- on the trunk it accepts
the value "silent", but on the older v1.6 branch, it doesn't). If you
set "hwloc_base_mem_bind_failure_action=silent" in the default MCA
params file and then accidentally ran with the v1.6 branch, every OMPI
executable (including ompi_info) just failed because hwloc_base_open()
would say "hey, 'silent' is not a valid value for
hwloc_base_mem_bind_failure_action!". Kaboom.
The only problem is that it didn't give you any indication of where
this value was being set. Quite maddening, from a user perspective.
So we changed the ompi_info handles this case. If any framework open
function return OMPI_ERR_BAD_PARAM (either because its base MCA params
got a bad value or because one of its component register/open
functions return OMPI_ERR_BAD_PARAM), ompi_info will stop, print out
a warning that it received and error, and then dump out the parameters
that it has received so far in the framework that had a problem.
At a minimum, this will show the user the MCA param that had an error
(it's usually the last one), and ''where it was set from'' (so that
they can go fix it).
We updated ompi_info to check for O???_ERR_BAD_PARAM from each from
the framework opens. Also updated the doxygen docs in mca.h for this
O???_BAD_PARAM behavior. And we noticed that mca.h had MCA_SUCCESS
and MCA_ERR_??? codes. Why? I think we used them in exactly one
place in the code base (mca_base_components_open.c). So we deleted
those and just used the normal OPAL_* codes instead.
While we were doing this, we also cleaned up a little memory
management during ompi_info/orte-info/opal-info finalization.
Valgrind still reports a truckload of memory still in use at ompi_info
termination, but they mostly look to be components not freeing
memory/resources properly (and outside the scope of this fix).
This commit was SVN r27306.
The following Trac tickets were found above:
Ticket 3275 --> https://svn.open-mpi.org/trac/ompi/ticket/3275
If orte_sstore_base_global_snapshot_ref is null, then it will default appropriately when it is used. When prelaunching we always specify this parameter, but if we are not prelaunching it is possible to allow this to be null and it will initialize when used. However we setup the prelaunching variable in both situtations and in the latter that would result in a NULL reference. This patch protects that code segment.
This commit was SVN r27289.
- configure: do not build OpenMP support if CFLAGS contains a compiler flag for disabling handling OpenMP directives (e.g. -fno-openmp, -nomp, -hnoomp)
Fixes trac:3117
This commit was SVN r27282.
The following Trac tickets were found above:
Ticket 3117 --> https://svn.open-mpi.org/trac/ompi/ticket/3117
- general:
- incremented version number ro 1.11.3openmpi
- otfaux:
- fixed build error when using the Oracle compiler on Solaris. (removed usage of too recent rint() function)
Fixes trac:3257
This commit was SVN r27279.
The following Trac tickets were found above:
Ticket 3257 --> https://svn.open-mpi.org/trac/ompi/ticket/3257
patch that helped them test (r27184). Thanks Abosoft!
This commit was SVN r27277.
The following SVN revision numbers were found above:
r27184 --> open-mpi/ompi@a951a5ee99
ompi_comm_split(), and the entire set of periods from the old
communicator have already been copied to the new communicator. But up
here in mca_topo_base_cart_sub(), we need to subset the periods that
are actually stored on the new communicator according to remain_dims
(just like we did for the set of dimensions).
This commit renames a few variables to be a little less misleading,
and then adds a loop to copy over the periods information. I could
have added this into the first loop (that subset-copies the
dimensions), but this code is already confusing enough and this is not
a performance-critical section: so I made it a new loop.
Note that all the topo code will be revamped a bit when the new
MPI-2.2 topo stuff (currently off in a mercurial branch) finally makes
it back to the SVN trunk. But that new stuff will only get to v1.7 --
this commit will need to be CMR'ed to v1.6.x.
cmr:v1.7
cmr:v1.6.2
This commit was SVN r27248.
The following Trac tickets were found above:
Ticket 3294 --> https://svn.open-mpi.org/trac/ompi/ticket/3294
So (finally) consolidate these two fields into one "slots" field. Add a field in orte_job_t to indicate when all the procs for a job will be launched together, so that staged operations can know when MPI operations are allowed.
This commit was SVN r27239.
For those nodes (and *only* those nodes) where the user does *not* specify a slot count, we will set the number of slots according to their direction: either to the number of cores, numas, sockets, or hwthreads. Otherwise, the slot count is set to 1.
Note that the default behavior remains unchanged: in the absence of any value for #slots, and in the absence of any directive to set #slots, we will set #slots=1.
This commit was SVN r27236.