- 18 Apr, 2014 1 commit
-
-
Wesley Bland authored
In the MPIC_Sendrecv functions, the status object should always be defined since we use it internally. This won't have any impact on performance since the default is always to have FT collectives turned on anyway, but it will prevent a crash when someone overwrites that default. Fixes #2026 Signed-off-by:
Sangmin Seo <sseo@anl.gov>
-
- 15 Apr, 2014 3 commits
-
-
All ROMIO public symbols are being added into the libromio convenience library, which is LIBADD'ed into libmpi. The correct behavior would be for libtool to add -Wl,--whole-archive to the link line, thus forcing all symbols in libromio to end up in libmpi. However, in some cases, this is not working out correctly. For example, with the Absoft compiler, the linker flags were being reordered thus causing the -Wl,--whole-archive flag to not correspond to libromio. Consequently, only symbols that were used from within the other functions of libmpi were being included. For example, Absoft's linker reordering is below: ----8<---- % af77 -v -shared -fPIC src/mpi/attr/.libs/lib_libmpi_la-attrutil.o src/mpi_t/.libs/lib_libmpi_la-pvar_write.o \ -Wl,--whole-archive src/mpi/romio/.libs/libromio.a -Wl,--no-whole-archive \ -Wl,-rpath -Wl,/sandbox/balaji/build-absoft/src/mpl/.libs \ -Wl,-rpath -Wl,/sandbox/balaji/build-absoft/src/openpa/src/.libs \ -Wl,-rpath -Wl,/sandbox/balaji/build-absoft/install/lib \ -L/sandbox/balaji/build-absoft/src/mpl -L/sandbox/balaji/build-absoft/src/openpa/src \ /sandbox/balaji/build-absoft/src/mpl/.libs/libmpl.so /sandbox/balaji/build-absoft/src/openpa/src/.libs/libopa.so \ -lrt -lpthread -O0 -Wl,-soname -Wl,libmpi.so.12 -o lib/.libs/libmpi.so.12.0.0 gcc src/mpi/attr/.libs/lib_libmpi_la-attrutil.o src/mpi_t/.libs/lib_libmpi_la-pvar_write.o \ /sandbox/balaji/build-absoft/src/mpl/.libs/libmpl.so /sandbox/balaji/build-absoft/src/openpa/src/.libs/libopa.so \ -L/soft/com/packages/absoft11.0/shlib64 -Wl,--whole-archive -Wl,--no-whole-archive \ -Wl,-rpath -Wl,/sandbox/balaji/build-absoft/src/mpl/.libs \ -Wl,-rpath -Wl,/sandbox/balaji/build-absoft/src/openpa/src/.libs \ -Wl,-rpath -Wl,/sandbox/balaji/build-absoft/install/lib \ -L/sandbox/balaji/build-absoft/src/mpl -L/sandbox/balaji/build-absoft/src/openpa/src \ -Wl,-soname -Wl,libmpi.so.12 -shared -o lib/.libs/libmpi.so.12.0.0 src/mpi/romio/.libs/libromio.a \ -lrt -lpthread -laf90math -lafio -lamisc -laf77math -lm -lmv ----8<---- In the past, we got lucky in two ways: 1. We were including all the Fortran 77 symbols into libmpi. Since the Fortran symbols were calling the C ROMIO symbols, those ROMIO symbols were pulled in even without -Wl,--whole-archive. 2. The problem only showed up with absoft and nag, both of which are Fortran-only compilers. If a C compiler has this issue, it should have shown up when Fortran support is disabled. Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
We were adding both the ROMIO MPI_ and PMPI_ symbols into the external_libs variable, which end up in the same library. This patch separates them out. It also cleans up the variables to which other libtool libraries (such as the debug library) are added. Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
We were not explicitly linking the application binaries to libpmpi earlier. This works fine when the application uses the MPI_ symbols, but not when the application uses the PMPI_ symbols. On mac, where a separate profiling library is built, we were using -flat_namespace to supress this issue. But on other platforms, without this flag, the issue showed up when passing --disable-weak-symbols. Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
- 14 Apr, 2014 4 commits
-
-
Kenneth Raffenetti authored
MPIR_ERRTEST_ARGNULL is incorrect for validating an MPI_Info handle, since MPI_INFO_NULL is not defined as 0. This updates the test in MPI_Comm_set_info to match the one in MPI_Win_set_info. Patch originally from thakur@mcs.anl.gov
-
Rob Latham authored
if GPFS enabled, we were declaring all file systems GPFS. This holdover from the old BlueGene-specific days does not belong here. Signed-off-by:
Paul Coffman <pkcoff@us.ibm.com>
-
Rob Latham authored
20 years of portability workarounds make for quite a tangle. Only one of the four methods is ever used in practice now. Provide comments about the older approaches and indicate which one we expect to be the common case. Signed-off-by:
Paul Coffman <pkcoff@us.ibm.com>
-
Rob Latham authored
only ad_fstype.c uses GPFS_SUPER_MAGIC now. Also, GPFS_SUPER_MAGIC is properly provided by gpfs.h, but we can fall back to old way of declaring it ourselves if gpfs.h is not around. Signed-off-by:
Paul Coffman <pkcoff@us.ibm.com>
-
- 11 Apr, 2014 7 commits
-
-
Antonio J. Pena authored
Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
Antonio J. Pena authored
Fixes compiler warnings in ch3u_rma_ops.c and ch3u_rma_acc_ops.c. Complains were about "orig_vc" and "target_vc" of potentially being unused. This is a false positive, as the conditional statements were correct. Warning fixed by just initializing the pointers to NULL. gcc 4.6.3 complained in stomp, whereas gcc 4.7.4 did not on my laptop. Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
Antonio J. Pena authored
Those were related to pragma weak alias without previous external definitions. Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
Antonio J. Pena authored
Fixes complain by icc Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
Antonio J. Pena authored
Complained by icc Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
Antonio J. Pena authored
The variable is declared as external in pmip.h, but defined in three different files. The linker warns that it's actually merging them. If we want to use an only variable declared as 'extern', it should be only defined in one place. This commit removes two out of the three declarations. See #1966. Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
Antonio J. Pena authored
Fixes the following warning when --enable-fast is enabled: src/mpi/coll/bcast.c:1012:23: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] See #1966. Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
- 10 Apr, 2014 3 commits
-
-
Wesley Bland authored
This adds the same checks as the previous commit to the fortran tests. For the most part, the F77 tests are copied over to the F90 tests so little was added to the F90 directory. Fixes #1699 Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
Wesley Bland authored
The test suite assumes that it is running on a system where MPI_COMM_SPAWN(_MULTIPLE) is possible. This isn't true on all systems and thus prevents the test suite from being useful everywhere. This check (contributed by Jeff H. - jhammond@alcf.anl.gov) looks to see if the MPI_COMM_WORLD attribute MPI_UNIVERSE_SIZE is available and actually greater than the size of MPI_COMM_WORLD. If the spawn tests will fail because spawning is not possible on the system (whether because the universe size is too small or spawning is not supported), the tests will return success (unless there was some error in the detection process). Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
Pavan Balaji authored
Signed-off-by:
Wesley Bland <wbland@anl.gov>
-
- 07 Apr, 2014 2 commits
-
-
James Dinan authored
Add a test to check for correct behavior of MPI_Accumulate operations with the MPI_MINLOC and MPI_MAXLOC operations. Signed-off-by:
Xin Zhao <xinzhao3@illinois.edu>
-
Pavan Balaji authored
libmpi depends on libpmpi. We need to build them in that order to make sure the dependencies are satisfied. libtool should do this automatically, but it does not. More description of the error is available here: https://bugzilla.redhat.com/show_bug.cgi?id=91110 Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
- 03 Apr, 2014 1 commit
-
-
Rob Latham authored
if a file system supports scalable resize, we can continue to defer open. I had the logic backwards and conduced the deferred open when we did not need to (and did not when we did). Thanks, Paul Coffman. Signed-off-by:
Paul Coffman <pkcoff@us.ibm.com>
-
- 02 Apr, 2014 5 commits
-
-
in the final sort on the bridgelist, was starting an index at -1 instead of 0, resulting in typically bizzare (occaional) memory errors. Signed-off-by:
Rob Latham <robl@mcs.anl.gov>
-
Rob Latham authored
No need for this Makefile.mk to add BGL_OPTIM flags to CFLAGS: nothing in the code uses them. Signed-off-by:
Paul Coffman <pkcoff@us.ibm.com>
-
Huiwei Lu authored
The default optimization flags (-O2) are set for C and F77, but not for C++ and Fortran 90. In commit [b4ce3c99 ], the behaviour of PAC_C_CHECK_COMPILER_OPTION and PAC_F77_CHECK_COMPILER_OPTION were changed in configure.ac, while PAC_CXX_CHECK_COMPILER_OPTION and PAC_FC_CHECK_COMPILER_OPTION remained the same. Fixes #2033 Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
Michael Blocksome authored
Signed-off-by:
Huiwei Lu <huiweilu@mcs.anl.gov>
-
Pavan Balaji authored
Once the process mapping is complete, we need to make another round of node ID updates for the case where MPIR_CVAR_CH3_ODD_EVEN_CLIQUES is set. We were not doing that, so the CVAR variable had no effect. Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
- 01 Apr, 2014 11 commits
-
-
Pavan Balaji authored
Create symlinks for libmpich and friends, for applications that might still be relying on those names. Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
Pavan Balaji authored
Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
Pavan Balaji authored
No reviewer.
-
Pavan Balaji authored
Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
Pavan Balaji authored
When the conditions are right, we use libtool's interlibrary dependencies to only link the application with the minimum set of libraries required. Those libraries will pull in the other required libraries on demand. That way, the application library dependencies would be minimal, allowing us to add/remove extra libraries in the future. The "conditions are not right" when one of the following is true: 1. MPICH shared library builds are disabled. 2. libtool doesn't support interlibrary dependencies on this platform. 3. The user passed -static or -mpich-alllibs to the command line. 4. Interlibrary dependency tracking is explicitly disabled at configure time. Fixes #2040. Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
We moved the symbols around in libmpi and libpmpi. pkg-config should match this. Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
Maintain a list of files that go into each library. If a particular binding is not enabled, the list variable still exists, but will just be empty. This simplifies the management of which files/symbols go into which library. Move all MPI_ symbols to the libmpi library and all other symbols to the libpmpi library. All Fortran 77 symbols go into libmpif77.so, while C symbols go into libmpi.so. There are some exceptions, such as status_f2c, which are handled by the Fortran code but used in C. Our Fortran 90 build only creates a few symbols and uses the f77 symbols for everything else. These few symbols go into libmpifort.so. Also update compiler wrappers to link to correct libraries. mpif77 should now link with libmpif77. mpif90 links with both libmpifort and libmpif77, since our F90 build still keeps the core Fortran library symbols in libf77. We completely ignored the F77 library earlier. This was OK because all of the Fortran symbols were ending up in libmpi. Now that we have separated out the symbols to the right library, we now need to link to libmpif77 as well. Also added inter-library dependencies. libmpi has a dependency on several internal libraries: libmpl, libopa. libmpicxx did not have a dependency on libmpi, added. libmpif77 did not have a dependency on libmpi, added. libmpifort did not have a dependency on libmpi, added. This dependency model is sufficient for C and F77, but not for C++ and F90. The C and F77 libraries contain all the symbols the application relies on, but the F90 and C++ libraries don't. In the case of F90, symbols such as mpi_bcast are missing and are borrowed from the F77 library. In the case of C++, mpicxx.h contains calls directly to C functions (such as MPI_Reduce_local), which get embedded into the application. Fixes #2023. Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
Rename BUILD_CXX_LIB to BUILD_CXX_BINDING. Rename BUILD_F90_LIB to BUILD_FC_BINDING. Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
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>
-
This symbol should go into libmpich, not libpmpich. Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
- 28 Mar, 2014 2 commits
-
-
Rob Latham authored
No Reviewer
-
Pavan Balaji authored
No reviewer.
-
- 27 Mar, 2014 1 commit
-
-
Michael Blocksome authored
-