first fragment should always be less than the GM segment size (the difference should be the size of the rendez-vous header).
If the first fragment size is not set correctly force the correct value. However in the ompi_info we will still see the
default one.
This commit was SVN r5142.
ompi_mpi_init(): we no longer *query* the components to see what they
can support -- instead, we *tell* the components what they need to
support (if they can't support it, they should disqualify themselves
from selection).
This involved a bunch of things:
- pass the configure-time-decided OMPI_ENABLE_PROGRESS_THREADS and
OMPI_ENABLE_MPI_THREADS constants to each framework selection
function
- eliminate mca_base_init_select_components()
- eliminate all "allow_multi_user_threads" and "have_hidden_threads"
kinds of arguments and aggregation from various framework selection
and component/module functions
- correctly determine the max MPI thread level that we can support and
limit the final MPI thread level as appropriate during
ompi_mpi_init()
As a side effect, while editing nearly every MPI component I also did
the following:
- found 2 places (gm and ib ptls) where ompi_set_using_threads() was
erroneously being called (I think this is left over kruft from
misunderstandings by the original authors). I removed these.
This commit was SVN r5055.
Some minor cleanups (remove useless variables, functions).
Add some comments.
Add a dump header function. (It should be moved from GM driver to some PTL generic file).
This commit was SVN r3982.
Rename some internals to have a better conformance with the rest of the project.
Dont use a fragment for the ack on the match, use just a already registered buffer.
Delte a useless file (ptl_gm_addr.h). The structure is already present in the ptl_gm_peer.h file
This commit was SVN r3933.
- rendez-vous protocol for long messages (internally used by the GM driver)
- first step toward overlapping registration/transfert
- use the correct type (size_t and uint64_t) for some internal types to conform to the PML layer
Some minor changes:
- remove some useless macros
- clean-up the GM defines
- renames some GM MCA parameters
- correctly use the limit between eager and rendez-vous protocol
- speedup the code a little (dont allocate useless fragments).
- when allocation fragment set to ZERO all usefull fields in the struct
This commit was SVN r3927.
Use the GM FAST event to avoid a call to gm_unknown.
Dont allocate a fragment for the match message (either on the send or the receive side).
This commit was SVN r3905.
independing on the size of the data. The strange fact is that I get nearly the same performances as the NetPipe GM (that use registered memory) who are really close to the maximum performances with the Myrinet cards available on the cluster. However the load on the CPU is higher.
I still have to investigate how exactly this fact fit with the send/recv of non-contiguous datatypes.
This commit was SVN r3877.
Lookup for the peer information only when we need it for later usage.
Small optimizations (moving some function in .h and transform them in static inline).
Cleanups, cleanups and finally cleanups ...
This commit was SVN r3870.