1000. Refs trac:3154.
IB/iWarp vendors need to get together to figure out a real fix.
This commit was SVN r26777.
The following SVN revision numbers were found above:
r26730 --> open-mpi/ompi@5315c91baf
The following Trac tickets were found above:
Ticket 3154 --> https://svn.open-mpi.org/trac/ompi/ticket/3154
Among other things, this patch deals with the following issues:
* fix ompi-checkpoint argument parsing
* ompi-restart -showme prints an extraneous "Restarted child with PID"
message. Move around the debug statement to avoid this.
* fixes for the state machine changes
This commit was SVN r26770.
- change the location where we mark the file view as contiguous and the
condition on how it is determined to be contiguous
- remove the unnecessary include statements
This commit was SVN r26763.
- fixed RBuffer_searchTime() for compressed files
Changes to VT:
- rebuild HTML+PDF version of VT user manual
- fixed compiler instr. entry in configure summary (was empty if no compiler instr. found)
This commit was SVN r26750.
* If the MCA param btl_openib_cq_size is set to 0 (which is the
default), use the device CQ max size. Otherwise, use the MCA param
value (and never adjust it again).
* Remove the CQ size adjustment code. Since we default to max CQ
size, there really isn't much point in having it any more. I think
people setting an absolute CQ size is going to be rare, so let's
not do anything fancy with it.
* If the MCA param value is larger than what the device supports,
print a warning (only once per process) and default to using the
device max
* Add a BTL_VERBOSE displaying which CQ size we used
This commit was SVN r26730.
The following Trac tickets were found above:
Ticket 3152 --> https://svn.open-mpi.org/trac/ompi/ticket/3152
new Fortran revamp a few months ago) that failed when you compiled
with "ifort -i8".
The secret: "test $foo -eq 0" fails when $foo is sufficiently large.
So instead, use "test "$foo" = "0"". expr does work with large
integers, though, so one "test -lt" was replaced with expr.
This commit was SVN r26715.
The following Trac tickets were found above:
Ticket 3146 --> https://svn.open-mpi.org/trac/ompi/ticket/3146
where the MX BTL and MTL are stepping on each other regarding the
mpool. Thanks to Yong Qin for assistance in tracking this down.
This commit was SVN r26698.
The following Trac tickets were found above:
Ticket 3130 --> https://svn.open-mpi.org/trac/ompi/ticket/3130
hook early in the setup, but ''not'' during the component register
function. And then properly unset it if was set.
This commit was SVN r26697.
The following Trac tickets were found above:
Ticket 3130 --> https://svn.open-mpi.org/trac/ompi/ticket/3130
* Use proper tag space (the negatives below the blocking communicators)
instead of the point-to-point space
* Use the PML interface instead of the MPI interface, since the MPI
interface 1) shouldn't be used by components and 2) doesn't like
negative tags
This commit was SVN r26693.
Update all the orte ess components to remove their associated APIs for retrieving proc data. Update the grpcomm API to reflect transfer of set/get modex info to the db framework.
Note that this doesn't recreate the old GPR. This is strictly a local db storage that may (at some point) obtain any missing data from the local daemon as part of an async methodology. The framework allows us to experiment with such methods without perturbing the default one.
This commit was SVN r26678.
* Ensure the profiling version is linked in
* Ensure that PMPI variants are prototyped in mpi.h
* Ensure weak symbols are set correctly
This commit was SVN r26649.
* Add new configure command line options and deprecate some old ones:
* --with-verbs replaces --with-openib
* --with-verbs-libdir replaces --with-openib-libdir
* If you specify --with-openib[-libdir] without
--with-verbs[-libdir], you'll get a "these options have been
deprecated!" warning, but then they'll act just like
--with-verbs[--libdir].
'''Sidenote:''' Note that we are not renaming any components at this
time, nor are we renaming the top-level OMPI_CHECK_OPENIB m4 macro
(which is pretty strongly tied to the openib BTL and is bastaridzed
by the ofud BTL). Note that there will likely be more changes in
this area coming soon (next week?) when some long-standing changes
move to the SVN trunk: some openib BTL infrastructure will move to
ompi/mca/common, and its configury gets split up / refactored.
We extend our philosophy of other --with-<foo> configure options of
--with-verbs to ''all'' verbs-lovin components:
* If you specify --with-verbs, then all verbs-lovin' components must
configure successfully (or abort). This currently means: OOB ud,
BTL ofud, BTL openib.
* If you specify --with-verbs=DIR, then all verbs-lovin' component
must configure successfully (or abort), and will use DIR to find
verbs headers and libraries.
* If you specify --without-verbs, then all verbs-lovin' components
will be ignored.
This commit also fixes a problem where the --with-openib=DIR form
would not use DIR for ''all'' verbs-lovin' components (I think only
BTL openib and BTL ofud used that DIR). Now all of them do, as does
hwloc (because hwloc has some !OpenFabrics helper functions that
require ibv types from verbs.h).
There's a little new m4 infrastructure worth mentioning:
* If you create a new verbs-lovin' component (i.e., a component that
need verbs), your configure.m4 should
AC_REQUIRE([OPAL_CHECK_VERBS_DIR]).
* You can then use three global shell variables: $opal_want_verbs,
$opal_verbs_dir, $opal_verbs_libdir, which will be set as follows:
* opal_want_verbs will be "yes" and opal_verbs_dir and
opal_verbs_libdir will both be set to directory values, '''OR'''
* opal_want_verbs will be "no" and opal_verbs_dir and
opal_verbs_libdir will both be set empty
This commit was SVN r26640.
1. they modified the OMPI-ORTE interface, which is something I promised to avoid doing unless absolutely necessary, and
2. the framework ident is already in the component name key provided to the modex db. What is missing is the project ident, but as Jeff and I discussed last week, we really need to add that field to the component struct anyway to avoid multi-project collisions on framework names. That will be done over the next couple of weeks as a separate effort.
This commit was SVN r26613.
The following SVN revision numbers were found above:
r26600 --> open-mpi/ompi@5ba4deff07
r26601 --> open-mpi/ompi@0e3094c318
* Properly set message to MPI_MESSAGE_NULL in the right places
* Fix double free of buffer for non-contiguous blocking sends
* Remove useless debugging output
This commit was SVN r26604.
The test was comparing 1.1L to Fortran's 1.1, which was sometimes
a single-precision/truncated value, even if stored in a REAL*16 word.
This commit was SVN r26543.
* opal_hwloc_base_cset2str(): Make a human-readable string of a
hwloc_cpuset_t (e.g., socket 2[core 3[hwt 1]])
* opal_hwloc_base_cset2mapstr(): Make a map-like string of a
hwloc_cpuset_t (e.g., [B./..])
This commit was SVN r26532.
* Add in a bunch of missinc MPI_Op pre-defined constants
* Fix a few parameter types
* Ensure that MPI_Op handles have the same values in all interfaces
(i.e., add them to the mpif-common.pl generator script)
This commit was SVN r26511.
REDUCE_SCATTER, SCATTERV, and GATHERV. Thanks to the mpi4py community
for reporting the issue.
This commit was SVN r26489.
The following SVN revision numbers were found above:
r26488 --> open-mpi/ompi@42793aa10f
Jonathan Dursi), fix a bug in the parameter verification of
MPI_ALLGATHERV: ensure to use the ''remote'' group size when checking
the recvcounts array.
This commit was SVN r26488.
Also ensure we don't try to build them if no Java support was found, and error out if the user requests the bindings and we didn't find Java support.
Add a configure flag to skip the Java tests and just force-set the Java support to "disabled"
This commit was SVN r26484.
2. Checking for 0 bytes datatypes and sending only when data available to avoid 0 byte messages being sent and received.
3. Changing timing extraction to support calculating, min, max and avg communication costs + min and avg write costs
This commit was SVN r26450.
ompi_mpi_errcodes array to NULL if the index is not MPI_UNDEFINED.
Thanks to Alexey Bayduraev for the patch.
This commit was SVN r26446.
The following Trac tickets were found above:
Ticket 3093 --> https://svn.open-mpi.org/trac/ompi/ticket/3093
* Need to look at slot count before flowcontrol for sending to prevent
race in restart
* Need to free pending request fragments when done with the request
* A number of branch prediction optimizations for error conditions
This commit was SVN r26430.
helper file, even if we find that the system has <infiniband/verbs.h>.
The reason is because there are some inline functions in that verbs
helper file that invoke ibv_* functions. Some linkers (e.g., Solaris
Studio Compilers) will instantiate those static inline functions --
even if we don't use them -- and therefore we need to be able to
resolve the ibv_* symbols at link time.
But since -libverbs is only specified in places where we use other
ibv_* functions (e.g., the OpenFabrics-based BTLs), that means that
linking random executables can/will fail (e.g., orterun).
So instead, introduce a new #define: OPAL_HWLOC_WANT_VERBS_HELPER. If
this macro is set to 1 before including opal/mca/hwloc/hwloc.h, then
you'll also get the hwloc OpenFabrics verbs helper header file (*if*
hwloc found <infiniband/verbs.h> -- otherwise, it'll #error).
This commit was SVN r26417.
* Remove paffinity, maffinity, and carto frameworks -- they've been
wholly replaced by hwloc.
* Move ompi_mpi_init() affinity-setting/checking code down to ORTE.
* Update sm, smcuda, wv, and openib components to no longer use carto.
Instead, use hwloc data. There are still optimizations possible in
the sm/smcuda BTLs (i.e., making multiple mpools). Also, the old
carto-based code found out how many NUMA nodes were ''available''
-- not how many were used ''in this job''. The new hwloc-using
code computes the same value -- it was not updated to calculate how
many NUMA nodes are used ''by this job.''
* Note that I cannot compile the smcuda and wv BTLs -- I ''think''
they're right, but they need to be verified by their owners.
* The openib component now does a bunch of stuff to figure out where
"near" OpenFabrics devices are. '''THIS IS A CHANGE IN DEFAULT
BEHAVIOR!!''' and still needs to be verified by OpenFabrics vendors
(I do not have a NUMA machine with an OpenFabrics device that is a
non-uniform distance from multiple different NUMA nodes).
* Completely rewrite the OMPI_Affinity_str() routine from the
"affinity" mpiext extension. This extension now understands
hyperthreads; the output format of it has changed a bit to reflect
this new information.
* Bunches of minor changes around the code base to update names/types
from maffinity/paffinity-based names to hwloc-based names.
* Add some helper functions into the hwloc base, mainly having to do
with the fact that we have the hwloc data reporting ''all''
topology information, but sometimes you really only want the
(online | available) data.
This commit was SVN r26391.
point home that they're deprecated
* Similarly, make mpif77-wrapper-data.txt be a sym link to
mpifirt-wrapper-data.txt (ditto with mpif90)
* Make new mpif77.1 and mpif90.1 man pages that say that they're
deprecated; use mpifort instead
This commit was SVN r26353.
* Remove unused #defines in mpi.h.in
* Add OMPI_PARAM_CHECK in mpi.h.in (so that we can check for it in tests)
* Clean up some comments in mpif-common.h
This commit was SVN r26347.
problems (i.e., don't return a value from a void() function!). Thanks
to Eugene for identifying these issues. Hopefully this will fix up
the problems Oracle is having with compiling the new Fortran stuff.
This commit was SVN r26310.
- Move endpoint code back up to BTL
- Use opal_pointer_array_t for bounce buffer to identify local smsg completions.
- Update and reenable sendi
- Create a new endpoint for FMA/BTE transactions (keep local smsg/fma transactions seperate)
- Move reverse get code into btl_ugni_put.c
- Move eager get code into btl_ugni_get.c
- Handle remote SMSG overruns correctly
- Added support for inplace sends
- etc
This commit was SVN r26307.
* If the Fortran compiler doesn't support ISO_C_BINDINGS, fall back
to an older (less precise) test for KIND values
* If we're building the mpi module, don't assume that we're also
building mpi_f08 module (i.e., don't add -lmpi_usempif08 to mpifort
unless we're actually building the mpi_f08 module)
This commit was SVN r26294.
the case where we have a really ancient Fortran compiler that does not
support ISO_C_BINDING, but need to test to be sure that the new
configury works.
This commit was SVN r26290.
1. New mpifort wrapper compiler: you can utilize mpif.h, use mpi, and use mpi_f08 through this one wrapper compiler
1. mpif77 and mpif90 still exist, but are sym links to mpifort and may be removed in a future release
1. The mpi module has been re-implemented and is significantly "mo' bettah"
1. The mpi_f08 module offers many, many improvements over mpif.h and the mpi module
This stuff is coming from a VERY long-lived mercurial branch (3 years!); it'll almost certainly take a few SVN commits and a bunch of testing before I get it correctly committed to the SVN trunk.
== More details ==
Craig Rasmussen and I have been working with the MPI-3 Fortran WG and Fortran J3 committees for a long, long time to make a prototype MPI-3 Fortran bindings implementation. We think we're at a stable enough state to bring this stuff back to the trunk, with the goal of including it in OMPI v1.7.
Special thanks go out to everyone who has been incredibly patient and helpful to us in this journey:
* Rolf Rabenseifner/HLRS (mastermind/genius behind the entire MPI-3 Fortran effort)
* The Fortran J3 committee
* Tobias Burnus/gfortran
* Tony !Goetz/Absoft
* Terry !Donte/Oracle
* ...and probably others whom I'm forgetting :-(
There's still opportunities for optimization in the mpi_f08 implementation, but by and large, it is as far along as it can be until Fortran compilers start implementing the new F08 dimension(..) syntax.
Note that gfortran is currently unsupported for the mpi_f08 module and the new mpi module. gfortran users will a) fall back to the same mpi module implementation that is in OMPI v1.5.x, and b) not get the new mpi_f08 module. The gfortran maintainers are actively working hard to add the necessary features to support both the new mpi_f08 module and the new mpi module implementations. This will take some time.
As mentioned above, ompi/mpi/f77 and ompi/mpi/f90 no longer exist. All the fortran bindings implementations have been collated under ompi/mpi/fortran; each implementation has its own subdirectory:
{{{
ompi/mpi/fortran/
base/ - glue code
mpif-h/ - what used to be ompi/mpi/f77
use-mpi-tkr/ - what used to be ompi/mpi/f90
use-mpi-ignore-tkr/ - new mpi module implementation
use-mpi-f08/ - new mpi_f08 module implementation
}}}
There's also a prototype 6-function-MPI implementation under use-mpi-f08-desc that emulates the new F08 dimension(..) syntax that isn't fully available in Fortran compilers yet. We did that to prove it to ourselves that it could be done once the compilers fully support it. This directory/implementation will likely eventually replace the use-mpi-f08 version.
Other things that were done:
* ompi_info grew a few new output fields to describe what level of Fortran support is included
* Existing Fortran examples in examples/ were renamed; new mpi_f08 examples were added
* The old Fortran MPI libraries were renamed:
* libmpi_f77 -> libmpi_mpifh
* libmpi_f90 -> libmpi_usempi
* The configury for Fortran was consolidated and significantly slimmed down. Note that the F77 env variable is now IGNORED for configure; you should only use FC. Example:
{{{
shell$ ./configure CC=icc CXX=icpc FC=ifort ...
}}}
All of this work was done in a Mercurial branch off the SVN trunk, and hosted at Bitbucket. This branch has got to be one of OMPI's longest-running branches. Its first commit was Tue Apr 07 23:01:46 2009 -0400 -- it's over 3 years old! :-) We think we've pulled in all relevant changes from the OMPI trunk (e.g., Fortran implementations of the new MPI-3 MPROBE stuff for mpif.h, use mpi, and use mpi_f08, and the recent Fujitsu Fortran patches).
I anticipate some instability when we bring this stuff into the trunk, simply because it touches a LOT of code in the MPI layer in the OMPI code base. We'll try our best to make it as pain-free as possible, but please bear with us when it is committed.
This commit was SVN r26283.
algorithm to pairwise exchange instead of the default one. This might
improve the scheduling and relax the pressure on the network.
This commit was SVN r26246.
Roll in the ORTE state machine. Remove last traces of opal_sos. Remove UTK epoch code.
Please see the various emails about the state machine change for details. I'll send something out later with more info on the new arch.
This commit was SVN r26242.
event on the ME. The events we're likely to see are LINK (the ME was
added to the match list), PUT (weird to see first, but means that the ME
was linked to the match list and then matched), or PUT_OVERFLOW, meaning
the message was unexpected.
This commit was SVN r26199.
together, so implement all functions in the MTL interface for all
MTLs. The only places NULL was still being set was for add_comm/del_comm,
and matched probe, both of which are straight forward to implement (or
return ERROR_NOT_IMPLEMENTED, since the PML can't emulate matched probe).
This commit was SVN r26194.
the ompi_message_t structure to properly initialize convertor (the peer
is available in the request in OB1, and wasn't needed when I did the
original implementation).
* Implement matched probe for the Portals4 MTL and add NULL function pointers
for the other MTLs.
* Add add_comm and del_comm functions to portals4 MTL so that direct call
almost works again.
* Add NEWS item that we've implemented matched probe
This commit was SVN r26180.
Note that the previous patch allowed the following test to -pass-:
ompi-tests/mpich_tester/mpich_pt2pt/truncmult.c
This patch makes that test -fail- due to the assumption that MPI_Wait will update the status.MPI_ERROR field. In Open MPI we do not do this, so the MPI_ERROR field being inspected will remain set to MPI_ERR_PENDING. See comments in req_wait.c for why we do this.
If we change the test to not inspect the MPI_ERROR field after calling MPI_Wait successfully, then the test would pass correctly with this patch.
This change was made per discussion on the below email thread:
http://www.open-mpi.org/community/lists/devel/2012/03/10753.php
This commit was SVN r26177.
The following SVN revision numbers were found above:
r26172 --> open-mpi/ompi@03a33417d5
* split eq into send and receive eqs so that we can control the number
of outstanding events in send eq and ensure we never lose an ack
* Shouldn't ever truncate on short unexpected receive bocks, so don't set
the truncate bit
* Track active vs. waiting for free short unexpected receive blocks so
to ensure an active short unexpected receive block is posted coming out
of flow control. Also allow creation of "temporary" blocks which should
be released once FREE event is received.
* Slight reorganization of some code in preparation for more flow control
work.
This commit was SVN r26174.
- configure:
- changed default CUPTI library path to $CUPTI-DIR/lib64
- VT Libs:
- corrected prototype of MPI_Get_address in Fortran MPI wrappers (the second parameter should be an MPI_Aint* instead of MPI_Fint*)
- temporary removed MPI_<Comm|Type|Win>_<get|set>_attr and MPI_Attr_<get|put> from the Fortran MPI wrappers due to missing conversion of the attribute value parameter
- Docu:
- latex doc \usepackage[T1]{fontenc} so that _ can be searched and copied
- smaller font in Environment Variables section
- some improvements in CUDA section
- removed GPU idle time as official feature for CUPTI tracing method
This commit was SVN r26161.
- general:
- added missing entry in ChangeLog
- vtunify[-mpi]:
- fixed possibly uninitialized global token for the predefined Node and "All" process groups
This commit was SVN r26147.
- general:
- corrected OTF version number
- otfprofile:
- removed leading '=' from CSV lines to make it loadable into spreadsheets (e.g. Open Office)
- fixed process naming in CSV output of collective operation statistics
Changes to VT:
- configure:
- added *_FOR_BUILD variables to CrayXE's default configure options; required for cross-building
- VT libs:
- fixed GPU communication, due to new process ID splitting
- fixed parsing of PAPI native events in VT_METRICS; use strtok_r instead of strtok which is successively called inPAPI_event_name_to_code
- added VT_METRICS_SEP to definition comments (-> Vampir's trace info)
- Docu:
- fixed link to TAU Reference Guide
This commit was SVN r26137.
This feature can be enabled at compile time with --with-cma passed
to configure.
At runtime it is also necessary to add "--mca btl btl_sm_use_cma 1"
to the mpirun command.
If both CMA and KNEM are compiled in and enabled at runtime then
KNEM will take precedence and CMA will disable itself
This commit was SVN r26134.
Changes to OTF:
- general:
- updated copyright information (2011->2012)
- otfmerge-mpi:
- use the MPI-2 versions of MPI_Address and MPI_Type_struct
- otfdump:
- don't abort when reading events fails - the input tracefile might only have statistics
Changes to VT:
- general:
- updated version number to 5.12.2openmpi
- updated copyright information (2011->2012)
- configure:
- added configure switches to enable/disable CUPTI and CUDA wrapping
- fixed detection of C++ runtime libraries for Cray and PGI v11.x compilers
- fixed detection of Cray compiler's OpenMP flag
- fixed detection of MPI_IN_PLACE
- disable support for RTLD_DEFAULT on CrayX? platforms; it's provided by dlfcn.h but not working
- added '-force_flat_namespace' to linker flags of compiler wrappers on MacOS (causes that OpenMPI's libmpi_f77 calls the VT MPI wrapper functions - not the original ones)
- default configure options on Cray platforms: use compiler option '--target=$XTPE_COMPILE_TARGET' only if the environment variable is set
- VT libs:
- added support for CUDA tracing via CUPTI callbacks and activities (runtime and driver API, kernels, memory copies, GPU idle time and GPU memory usage)
- added support for cudaMemcpyDefault and synchronous peer-to-peer memory copies in CUDA library wrapper
- fixed a bug in CUDA runtime wrapper initialization and thread creation
- fixed a build bug occurred if CUDA and CUPTI found, but support for library tracing is disabled
- use stack-allocated char-array when composing vtunify command; on some platforms system() results in exit code 127 when using a dynamically allocated char-array
- fixed bug in async. counter plugin
- fixed handling of empty MPI groups (MPI_GROUP_EMPTY)
- fixed handling of MPI groups implicitly generated by MPI_Win_create
- fixed conversion from MPI_Fint-arrays to MPI_Aint-arrays in Fortran MPI wrappers
- fixed order of OpenMP threads based on its id (omp_get_thread_num)
- fixed parsing of filter file to consider non-rank-specific filter rules appearing after a rank selection for disabling
- fixed handling of 'errno' in LIBC[-I/O] wrappers for statically linked applications (set application's errno to the errno defined in the external LIBC which is used for calling the real functions)
- suppress warnings about usage of deprecated MPI functions (OMPI_WANT_MPI_INTERFACE_WARNING=0)
- vtunify[-mpi]:
- fixed potential memory corruption during enqueuing recv. messages for p2p message matching
- vtunify-mpi:
- use the MPI-2 versions of MPI_Address and MPI_Type_struct
- removed unused MPI wrappers
- fixed assertion in p2p message matching which occurred when processing local traces with disabled ranks
- vtdyn:
- load user-specified shared libraries (-s SHLIB) into the mutatee before starting the instrumentation; adds support for instrumenting shared libraries which are loaded during runtime
- compiler wrappers:
- fixed detection of MPI library linked in the path form (e.g. libmpi.a instead of -lmpi)
- fixed corrupt library order when using vtnvcc for linking MPI/CUDA mixed program
- OPARI:
- fixed Fortran parsing for detecting end of block DO loops
This commit was SVN r26114.
- MAJOR! get src descriptor leaks if mca_bml_base_send fails
- minor. descriptor leaked in mca_pml_send_request_start_copy if the btl returns OMPI_ERR_RESOURCE_BUSY.
This commit was SVN r26077.
* fixed some bugs where "unknown" tokens were allowed on the command
line (which should really only be used for ortertun).
* if an unknown token is encountered, print a short error to stderr
and quit with a nonzero exit status
* if we don't find the right number of parameters to an option, print
a short error to stderr and quit with a nonzero exit status
* when --help is given, print the help message to stdout (not stderr)
and quit with a zero exit status
* added --showme:help option to the wrapper compilers
* updated docs in opal/util/cmd_line.h
* other small/miscellaneous CLI parsing bugs in various tools
I won't bore you with what we did before. :-) Here's some examples
of what the new behavior looks like:
{{{
% ompi_info --bogus
ompi_info: Error: unknown option "--bogus"
Type 'ompi_info --help' for usage.
% ompi_info --param bogus
ompi_info: Error: option "--param" did not have enough parameters (2)
Type 'ompi_info --help' for usage.
%
}}}
This commit was SVN r26072.
logic back (that was replaced by r25965 and r26000) and fix the one
place that missed OMPI_LOGICAL_2_INT. This missing OMPI_LOGICAL_2_INT
was the real problem.
This commit was SVN r26053.
The following SVN revision numbers were found above:
r25965 --> open-mpi/ompi@b10ebf4b2d
r26000 --> open-mpi/ompi@90811cb50c
- otfmerge-mpi:
- use the MPI-2 versions of MPI_Address and MPI_Type_struct
Changes to VT:
- VT libs:
- suppress warnings about usage of deprecated MPI functions (OMPI_WANT_MPI_INTERFACE_WARNING=0)
- vtunify-mpi:
- use the MPI-2 versions of MPI_Address and MPI_Type_struct
- removed unused MPI wrappers
This commit was SVN r26051.
Uses new CUDA IPC support. Also, a few minor changes in PML to take
advantage of it.
This code has no effect unless user asks for it explicitly via
configure arguments. Otherwise, it is either #ifdef'ed out or
not compiled.
This commit was SVN r26039.
defensive about the check of the flag value for the C-based keyvals.
We would never have had a problem because of the specific input data,
but being defensive is good (and it makes the code a little less
subtle / easier to read).
Also add in more comments about exactly what is going on, since this
is complicated stuff. :-)
This commit was SVN r26000.
MPI started!).
The FLAG argument to fortran attribute copy functions is a LOGICAL,
meaning that it can only return .TRUE. or .FALSE. The corresponding C
argument is an int, and the MPI spec says that it must return 1 or 0.
However, in Fortran, .TRUE. is not always necessarily == 1. So we
need to expand the test to see if it's a Fortran callback. If so,
check for the Fortran .TRUE. value (not 1). If it's a C callback,
then check for 1.
This commit was SVN r25965.
1. no binding support - indicated by a negative return code from get_cpubind
2. binding supported, but not bound - the bitset returned by get_cpubind is the same as the available cpuset
3. binding supported and bound - bitset from get_cpubind is a subset of available cpuset
4. only one cpu is available - in this case, get_cpubind matches the available cpuset, but we are effectively bound
This commit was SVN r25957.
patch from the ticket, released under the BSD license.
This commit was SVN r25949.
The following Trac tickets were found above:
Ticket 2933 --> https://svn.open-mpi.org/trac/ompi/ticket/2933