This reverts commit
4d93cefa8f. pmodels/mpich#6904 has a valid
use-case that we should support. An additional commit will modify the
compile scripts so these flags will not leak out of the build.
When the user is building MPICH from a fresh git checkout, the steps
in README will be insufficient. Add a link to our wiki pages for
additional guides.
It is unnecessary to put embedded library to deep nested paths. Put them
all in modules dir, similar to how mpich does it.
The hwloc path was previously broken when we rearranged the source tree.
It didn't show in our testing because by default, we reuse the hwloc
compiled by main mpich.
The cvar names for controlling ch4 ofi capabilities are outdated. For
example, MPIR_CVAR_OFI_ENABLE_TAGGED should be
MPIR_CVAR_CH4_OFI_ENABLE_TAGGED.
The comment that MPIR_CVAR_CH4_OFI_ENABLE_TAGGED affecting immediate
data field doesn't make sense. Let's update it using example of
MPIR_CVAR_CH4_OFI_ENABLE_ATOMICS.
The comment implies that MPICH build will fail if
MPIR_CVAR_CH4_OFI_ENABLE_TAGGED and MPIR_CVAR_CH4_OFI_ENABLE_RMA are not
enabled, is not entirely true. It is modified.
This configuration forces all communication to only use the AM path.
Direct overrides of the netmod/shmmod for MPI functions will be
disabled, and the netmod/shmmod would be only used as byte transports.
It also removes the legacy-ofi (for OFI) and
ch4-netmod-ucx-args=am-only (for UCX) configure options, and adds
AM-fallback for SHM code too.
Now that tagged is a required capability for OFI providers that are
going to be using something more than just the active message code, we
can take out all of the branches to check whether we're using tagged
messages or not.
Fixescsr/mpich-ofi#1305
Signed-off-by: Ken Raffenetti <raffenet@mcs.anl.gov>
Document the fact that if you use an old version of libfabric and try to
specify your provider instead of letting MPICH pick it, you might get
bad behavior.
This also adds some automation to discover the currently expected
version of libfabric and adds that to the README. Note that this won't
work if the current source tree doesn't have libfabric checked out.
Signed-off-by: Ken Raffenetti <raffenet@mcs.anl.gov>
This includes several changes:
1. Merged WRAPPER and EXTERNAL LIBS. There is no reason to maintain
two names for these flags. These are eventually appended and added to
the compiler wrappers anyway.
2. Updated mpicc and friend to add the necessary flags directly
instead of trying to merge these flags in configure.
Signed-off-by: Ken Raffenetti <raffenet@mcs.anl.gov>
It does not make sense for the user to specify LDFLAGS/LIBS that would
only be used to build the MPICH library, but not the user application.
Doing do will create a false dependency of the MPICH library on these
external libraries resulting in weird interactions with the user
application in cases where interlibrary dependencies are not
supported. We were anyway silently modifying the WRAPPER LDFLAGS/LIBS
to include these anyway, so the flags themselves were weirdly screwed
up.
This patch simply removes them instead of pretending to allow them,
but not really allowing them.
Signed-off-by: Ken Raffenetti <raffenet@mcs.anl.gov>
MPD has been deprecated for several major releases. Now we are having
to deal with bugs in it that are not worth spending time fixing. It's
time to let go of it.
Signed-off-by: Antonio J. Pena <apenya@mcs.anl.gov>
Now that we have decided on consistent library names, we don't need to
do any special setting for ABI compatibility. Just set the
LD_LIBRARY_PATH and run.
Signed-off-by: Ken Raffenetti <raffenet@mcs.anl.gov>
The following library names are used to make the naming consistent
across the ABI compatibility group:
C libraries: libmpi.* and libpmpi.*
C++ library: libmpicxx.*
F77 libraries: libmpif77.*
F90+ library: libmpifort.*
This patch also gets rid of the FWRAPNAME variable, which is a
duplicate of MPIFLIBNAME. Similarly, FCWRAPNAME is removed and a new
variable MPIFCLIBNAME is added, so it's consistent with the other
names.
PMPIFLIBNAME, which was unused, is no longer present.
Fixes#2039.
Signed-off-by: Ken Raffenetti <raffenet@mcs.anl.gov>
Provide some guidance on how to run MPICH programs using Intel's
MPI package and vice-versa.
Signed-off-by: Pavan Balaji <balaji@mcs.anl.gov>
(includes some clarifications to the text from Pavan Balaji).