- 30 Jun, 2014 3 commits
-
-
Xin Zhao authored
Currently the code of poking progress engine to complete requests and the code of cleanning up completed requests are mixed up in one function rma_list_gc(), which is not a clear code structure. We move the code of poking progress engine out of rma_list_gc() and encapsule the code into a separate function so that rma_list_gc() only does garbage collection work. Signed-off-by:
Pavan Balaji <balaji@anl.gov>
-
Xin Zhao authored
Rename RMAListPartialComplete to rma_list_gc and rename RMAListComplete to rma_list_complete. Declare both functions as inline function. Add error handling code for both functions. Signed-off-by:
Pavan Balaji <balaji@anl.gov>
-
Xin Zhao authored
Static functions should not have name starting with prefix "MPIDI_CH3I_". We delete those prefix in function names as well as in state names. Signed-off-by:
Pavan Balaji <balaji@anl.gov>
-
- 29 Jun, 2014 3 commits
-
-
Kenneth Raffenetti authored
Signed-off-by:
Pavan Balaji <balaji@anl.gov>
-
Kenneth Raffenetti authored
Fixes a compilation error when building the portals4 netmod. We considered implementing this cvar more generally at the nemesis level, but could not guarantee it is safe to disable this functionality in the other netmods. Signed-off-by:
Pavan Balaji <balaji@anl.gov>
-
Kenneth Raffenetti authored
When hydra detects a timeout has occured, its method for killing everything is to call HYDT_bsci_wait_for_completion with a timeout of zero. However, the zero timeout value was ignored and processes were not explicitly killed. Allowing for a value of zero makes timeout more reliable and ensures mpiexec returns a non-zero status to the user. Signed-off-by:
Pavan Balaji <balaji@anl.gov>
-
- 28 Jun, 2014 1 commit
-
-
Xin Zhao authored
In all-to-all communication tests in fetch_and_op.c, the result buffer is always set by origin right after MPI_Fetch_and_op, which is not correct. Delete those lines. Signed-off-by:
Pavan Balaji <balaji@anl.gov>
-
- 27 Jun, 2014 1 commit
-
-
Wesley Bland authored
The MPI_Reduce_scatter(_block) test was incorrectly checking the result and/or printing out incorrect values when detecting an error. This corrects that situation. Thanks for the patch from Jeff Hammond. Fixes #2087 Signed-off-by:
Sangmin Seo <sseo@anl.gov>
-
- 26 Jun, 2014 5 commits
-
-
The patch provides a better implementation where each group does a intra-reduce concurrently, exchanges the reduce result, and broadcasts in the group. The current implementation had a problem of serializing intra-reduces of each group. Fixes ticket #2074. Signed-off-by:
Sangmin Seo <sseo@anl.gov>
-
Kenneth Raffenetti authored
Autoconf maintains a comprehenive list of ways to enforce C99 mode with various compilers. http://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/c.m4 Since we regularly test with Sun/Solaris Studio, cherry pick the correct method to use with --enable-strict. Signed-off-by:
Rob Latham <robl@mcs.anl.gov>
-
Kenneth Raffenetti authored
/usr/include/sys/feature_tests.h on Solaris says this about feature levels and C99: It is invalid to compile an XPG3, XPG4, XPG4v2, or XPG5 application using c99. The same is true for POSIX.1-1990, POSIX.2-1992, POSIX.1b, and POSIX.1c applications. Likewise, it is invalid to compile an XPG6 or a POSIX.1-2001 application with anything other than a c99 or later compiler. Therefore, we force an error in both cases. ROMIO builds would fail with --enable-strict because _XOPEN_SOURCE=500 was defined to expose pread/pwrite. Increasing the feature level to 600 makes usage strictly compatible with C99. Signed-off-by:
Rob Latham <robl@mcs.anl.gov>
-
The support was broken by the following commits: 41ecf98e 998d9c67 Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
This reverts commit 41ecf98e . Conflicts: Makefile.am Resolution: Added support for new mpif90. Added: MPIFORT_NAME, MPIF90_NAME, and MPIF77_NAME Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
- 24 Jun, 2014 1 commit
-
-
Antonio J. Pena authored
Change --forward flag of patch for the short -N equivalent in autogen.sh to provide a broader compatibility, since it's the only recognized by BusyBox's patch version. Fixes #2120
-
- 23 Jun, 2014 1 commit
-
-
Kenneth Raffenetti authored
The generated code for the "Hello, World" conftest was missing an include for stdio.h. This caused false negatives when testing with some compilers. Signed-off-by:
Huiwei Lu <huiweilu@mcs.anl.gov>
-
- 20 Jun, 2014 4 commits
-
-
Rob Latham authored
If we are going to use UINT_MAX and USHRT_MAX, something needs to bring in limits.h. Martin Audet <Martin.Audet@nrc-cnrc.gc.ca> reported a build failure because we did not include limits.h. In addition to his one-line patch I threw in a configure-time check just in case.
-
MPIU_Assert(rreq->dev.iov_offset >= 0) generates warning about comparison which is always true. This happens because the type of iov_offset is size_t. Signed-off-by:
Rob Latham <robl@mcs.anl.gov>
-
-Wno-type-limits was removed because it masks important failures (see ticket #2094). However, since Intel compiler currently does not include -Wtype-limits in -Wextra, -Wtype-limits was added to handle warnings with the Intel compiler. Signed-off-by:
Rob Latham <robl@mcs.anl.gov>
-
When using --enable-strict, configure tests for support of certain flags with the selected compiler. PAC_C_CHECK_COMPILER_OPTION (in confdb/aclocal_cc.m4) should be able to detect that the "-D_POSIX_C_SOURCE=200112L" flag is not accepted by the Solaris compiler, but it does not. The method used (AC_LANG_PROGRAM() in confdb/aclocal_cc.m4:48) uses an empty parameter, the result of which is an empty main that somehow passes the detection. Replacing it with a "hello world" test case will correctly detect the error and remove "-D_POSIX_C_SOURCE=200112L" from the accepted flags. Configure can then complete successfully. Note that compilation in this configuration will still freeze due to a solaris compiler bug. See #2105. Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
- 19 Jun, 2014 7 commits
-
-
Junchao Zhang authored
No review since F08 binding is experimental now.
-
Junchao Zhang authored
value and valuelen should keep unchanged when a false flag is returned. No review since F08 binding is experimental now.
-
Junchao Zhang authored
We should also remove the leading blank characters. No review since F08 binding is experimental now.
-
Junchao Zhang authored
No review since F08 binding is experimental now.
-
Junchao Zhang authored
The request argument should not have the value attribute due to an oversight in MPI-1.0. See p72 of MPI-3.0 No review since F08 binding is experimental now.
-
Junchao Zhang authored
One bug is related to converting the array_of_argv argument in MPI_Comm_spawn_multiple from a Fortran style, i.e. type CHARACTER(LEN=*), INTENT(IN) :: array_of_argv(count, *), to a C style, i.e., char** array_of_argv[count] No review since F08 binding is experimental now.
-
Junchao Zhang authored
The new tests include: io, spawn, topo, timer, profile, ext, info, init and misc No review since F08 binding is experimental now.
-
- 17 Jun, 2014 2 commits
-
-
This patch clean the code for the MPI_Comm_idup single-threaded case to use the same code of the multi-threaded case. In order to do this, three variables are made visible to both single-threaded and multi-threaded case: mask_in_use, lowestContextId and lowestTag. Also, before this patch, #1935 has been fixed for multi-threaded case but will still fail for single-threaded case. After this patch, the single-threaded case will be fixed. Here is a history of related changes: The patch [05eeccb5] fixed MPI_Comm_idup for multi-threaded case, but forgot to fix the single-threaded case. A temporary patch [18de1dbe ] is used to revert the single-threaded case to use old code before multi-thread patch. The current patch fixes the second patch. See also #1935. Signed-off-by:
Pavan Balaji <balaji@anl.gov>
-
Kenneth Raffenetti authored
A correct MPI-3 implementation may allocate more memory than requested when calling MPI_Win_allocate_shared with alloc_shared_noncontig specified (MPI-3, p409, l13-16). The testsuite incorrectly asserts that the size of an allocated segment is exactly as requested. This is fixed by changing the comparison operators from == to >=. Discussion of this test error originated on OpenMPI ticket #4721. Signed-off-by:
Junchao Zhang <jczhang@mcs.anl.gov>
-
- 16 Jun, 2014 1 commit
-
-
Wesley Bland authored
Add a new CVAR (MPIR_CVAR_COLL_ALIAS_CHECK) that allows the user to turn off alias checking in collective operations. In 5b4bdef9 , alias checking was expanded to be more correct according to the standard, but will cause some previously misbehaving applications to fail even when they might not have displayed that behavior before. This patch lets users turn off checking if they accept the risk and don't want this specific check to be done. All error checking can still be turned off at configure time as usual. By default, this new CVAR will be set to `1` to indicate that checking is on. Fixes #2117 Signed-off-by:
Antonio J. Pena <apenya@mcs.anl.gov>
-
- 12 Jun, 2014 2 commits
-
-
Antonio J. Pena authored
Signed-off-by:
Rob Latham <robl@mcs.anl.gov>
-
Kenneth Raffenetti authored
Nonblocking collectives are standardized and tests for them should be run by any implementation claiming MPI-3. The level of MPI support determined at configure time and mpiversion specified in testlist are sufficient to restrict the tests from being run. These preprocessor guards are not necessary. Signed-off-by:
Wesley Bland <wbland@anl.gov>
-
- 11 Jun, 2014 2 commits
-
-
Antonio J. Pena authored
Hotfix for commit be93caec. Thanks to Dave Goodell to bring this out. See #2107
-
Antonio J. Pena authored
The _REENTRANT macro is required to be defined in order to get thread-safe "errno" values. Modern POSIX systems provide this by default when using -lpthreads, but there are still some (Solaris) that require an explicit define. Since we weren't compiling with that macro, we were getting incorrect "errno" values from the threads (mainly 0). More details: since we use nonblocking sockets, our code was checking "errno" to not be EINPROGRESS whenever we got an error code from a connect/accept, in order to determine an actual error (a return value of -1 and errno of EINPROGRESS does not define an actual error but a "not yet" when using nonblocking sockets). This patch automatically gets this macro defined by configure whenever we are not building in MPI_THREAD_SINGLE mode only. Fixes #2107 Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
- 10 Jun, 2014 4 commits
-
-
Wesley Bland authored
The test source:test/mpi/coll/coll6.c was sometimes aliasing buffers incorrectly. This adds a check for that and uses MPI_IN_PLACE when appropriate. Signed-off-by:
Antonio J. Pena <apenya@mcs.anl.gov>
-
Wesley Bland authored
Added tests to the existing test suite. Usually these tests are next to existing MPI_IN_PLACE tests to make sure that the IN_PLACE checks are correct. For the nonblocking tests, they are all in one big test (nonblocking4) since the other nonblocking tests were already in that format. Fixes #2049 Signed-off-by:
Antonio J. Pena <apenya@mcs.anl.gov>
-
Wesley Bland authored
If the user isn't using MPI_IN_PLACE when they should, this check will do a better job of warning them about it. See #2049 Signed-off-by:
Antonio J. Pena <apenya@mcs.anl.gov>
-
Pavan Balaji authored
Remove xfails pointing to #1935. No reviewer.
-
- 06 Jun, 2014 1 commit
-
-
Michael Blocksome authored
The blocking pthread mutex in the shared memory window causes a deadlock on bgq - perhaps because the messaging state is not advanced while the thread is waiting for the mutex to be released. Removing this blocking mutex resolves the bgq failures: - rma/strided_putget_indexed_shared - rma/strided_getacc_indexed_shared With the calls to the blocking mutex removed the CAS and FOP functions are not atomic. Solution is to remove the shared memory optimization and instead use the common (network) code path. Removing these shared memory optimizations from CAS/FOP resolves the bgq hangs: - rma/mutex_bench_shared
-
- 05 Jun, 2014 2 commits
-
-
Michael Blocksome authored
-
Michael Blocksome authored
For MPI_Win_allocate_shared() the memory regions that are exchanged all pointed to the begining of the shared memory allocation instead of at the portion of the shared memory allocated to each process. When MPI_Put(), for example, issues a PAMI_Rput() it uses an offset of zero to specify the begining of the peer's window. As the exchanged memory regions for each peer rank were not created at the start of each peer rank's allocation, data corruption and other bad things occur.
-