Also included is a fix to the attribute problem for singletons.
Short explanation:
The prior system placed triggers and subscriptions on the registry for each process - approximately eight/process. Each of these had to be checked every time there was a registry operation such as a "put" or "increment-value". For large numbers of processes, this repetitive checking consumed some significant time.
The new system allows processes to "attach" to existing triggers and subscriptions, without creating a new one. Thus, there are now only eight triggers and five subscriptions on a job - *regardless of how many processes are being run*. This means that the registry now takes the same amount of time (which is pretty darn short) to process an operation regardless of how many processes are in a job.
I'll provide some startup times from scalability tests shortly - need to complete the commit so I can move the system to an appropriate cluster.
This commit was SVN r6164.
function names with the GSYM (like we should be)
* Add support for PPC64/Linux in atomics
This should go to the beta branch.
This commit was SVN r6163.
-mca_bmi_base_registration_t
- Also corrected a bug in mca_common_sm_mmap_seg_alloc where a unitialized
-pointer was dereferenced
- Misc other changes.
This commit was SVN r6145.
Add an MCA parameter to orte_init that allows the function to exit with an appropriate code if it cannot attach to an existing universe - needed to support the Eclipse folks.
This commit was SVN r6138.
Many of the changes are include cleanups, and the
addition of pls, ras, and rds to libmpi for the tools
directory.
Some of the functionality is currently stubbed out.
Need to return to implement things properly so we
actually run under Windows. But I am focusing on just
building at the moment :)
This commit was SVN r6133.
- Added mca_mpool_base_remove
- Fixed mca_mpool_base_free to remove the memory desriptor from the tree
- Fixed up bmi_ib to allow pages to be left pinned
This commit was SVN r6113.
I'm contributing patches for configure.ac and f90_check_type.m4.
The problem was that f90_check_type returned an exit code
and not all compilers actually do this. The fix tries to compile the
type and fails if it can't. The problem is that some compilers will
happily return a default kind if the particular kind is not supported.
So the real test is whether the size of the datatype is as expected.
This commit was SVN r6101.
areas:
- The MPI attribute functions in f77 (the MPI-2 set, get,
keyval_create functions for each of the 3 types [comm, datatype,
win], and the MPI-1 put/get functions)
- the src/attribute/* back-end implementation
- MPI_TYPE_DUP implementation
- back-end ddt implementation
Here are the foxes:
- F77 attributes were previously being saved by reference (!)
- Until a few days ago, I didn't realize that the Fortran callback
functions between MPI-1 and MPI-2 had different signatures. These
changes update to handle all 3 kinds of callback functions: C, MPI-1
Fortran, and MPI-2 fortran.
- Also clean up a few related bugs with respect to MPI_TYPE_DUP (i.e.,
ensure that all attribute callbacks are properly invoked) and
ompi_ddt_duplicate (ensure that flags, f2c index, and keyhash are
all set properly).
This commit was SVN r6099.