- 05 Mar, 2013 7 commits
-
-
Dave Goodell authored
Probably not too harmful to omit the guards, but better not to jumble more constants together in the compiler's type-checking machinery. No reviewer.
-
Dave Goodell authored
Obvious bug. No reviewer.
-
Dave Goodell authored
It was possible to have a working `long double _Complex` even if the MPI library was pretending that `long double` should not work. Ditto for the C++ version. No reviewer.
-
Dave Goodell authored
This helps Cray out (and conceivably other vendors), since they ship several compilers which have different interpretations of what `long double` should mean (80-bit vs. 128-bit, being most common). Note that exporting `MPID_NO_LONG_DOUBLE=yes` in the environment before running `configure` does work, but may not work as intended in the face of an automake-initiated reconfigure. Autoconf does not treat this variable as precious (and we don't ask it to, since it's for inside-configure-use only), so its value will not be preserved for the reconfigure. The same holds for any `MPID_` variables mentioned at the top of `configure.ac`. No reviewer.
-
Dave Goodell authored
Otherwise `oputil.h` barfs on a bad preprocessor comparison when `MPID_NO_LONG_DOUBLE` is set. Fix reported by and suggested by Steve Oyanagi from Cray. No reviewer.
-
Dave Goodell authored
In particular, the clang type checking helpers can cause `MPI_DATATYPE_NULL` to be used before it has been `#define`d. No reviewer.
-
Dave Goodell authored
-
- 01 Mar, 2013 6 commits
-
-
James Dinan authored
-
James Dinan authored
Added a new test to check that 0-byte transfers are handled correctly. Reviewer: goodell
-
James Dinan authored
Added a check for 0-byte transfers in request-generating operations. When a 0-byte transfer is encountered, the user is returned a completed handle and no communication is performed. Reviewer: goodell
-
James Dinan authored
Extended the RMA PROC_NULL test to cover new operations and also to test passive target synchronization. Reviewer: goodell
-
James Dinan authored
Moved handling of MPI_PROC_NULL down to the device and cleaned up handling of PROC_NULL in the CH3 device. Reviewer: goodell
-
James Dinan authored
Updated request-generating RMA operations to correctly handle communication with MPI_PROC_NULL. Reviewer: goodell
-
- 28 Feb, 2013 2 commits
-
-
Antonio J. Pena authored
Fix bug #884. The routine was returning wrong results for derived datatypes. Two comparisons have been fixed in PMPI_LOCAL MPI_Count MPIR_Type_get_elements, src/mpi/datatype/get_elements_x.c. Two new test cases, get_elems_d and get_elems_u have been provided in f90. Reviewer: goodell
-
James Dinan authored
-
- 25 Feb, 2013 1 commit
-
-
James Dinan authored
MPI_Type_commit was missing CS ENTER/EXIT guards, which may be causing a conflict with RMA code that creates derived datatypes at the target process, when MPICH_ASYNC_PROGRESS is specified. This may have fixed #1766. Reviewer: goodell
-
- 22 Feb, 2013 6 commits
-
-
James Dinan authored
This merge rounds out shared memory window support in CH3. Note that CH3 currently supports shared memory windows on MPI_COMM_SELF (and dups).
-
James Dinan authored
Hoisted the window flavor error check in Win_shared_query from Nemesis up to the public API where it belongs. Reviewer: apenya
-
James Dinan authored
This adds a default shared memory window implementation for CH3 (used by e.g. sock), which works only for MPI_COMM_SELF (this is what the default comm_split_type provides). This closes ticket #1666. Reviewer: apenya
-
James Dinan authored
Moved the MPI_Comm_split_type override from CH3 down to Nemesis. CH3 should now use the default implementation, which returns MPI_COMM_SELF. Reviewer: apenya
-
James Dinan authored
Added missing boilerplate declarations before finalize_failed_procs_group. Reviewer: apenya
-
James Dinan authored
This patch adds basic error descriptions for the new RMA error classes that were introduced in MPI 3.0. Reviewer: none
-
- 21 Feb, 2013 18 commits
-
-
James Dinan authored
This merge adds a flags field to the packet header in RMA packets. The flags are used to piggyback RMA synchronization operations.
-
James Dinan authored
Reviewer: goodell
-
James Dinan authored
I initially added a conservative flush message for empty epochs (mostly for documentation purposes). This is not needed in the current implementation, since ops are not issued eagerly. If/when eager ops are implemented, this patch should be reverted and additional window state tracking for this case should be added. In the meantime, I am removing this code to improve performance. Reviewer: goodell
-
James Dinan authored
This patch adds a few missing memory fences to the window synchronization operations for shared memory windows. This closes ticket #1729. Reviewer: goodell
-
James Dinan authored
Moved RMA errors used in the CH3 RMA implementation into the ch3 errnames.txt file. Reviewer: goodell
-
James Dinan authored
Additional testing for shared lock with MODE_NOCHECK. Reviewer: goodell
-
James Dinan authored
When the MPI_MODE_NOCHECK assertion is given to a passive target lock operation, we defer acquisition of the lock and piggyback the request on the first RMA op to the target. This eliminates a round-trip lock-request message. Reviewer: goodell
-
James Dinan authored
This patch adds piggybacking of flush synchronization on top of the last operation in an RMA epoch. Reviewer: goodell
-
James Dinan authored
The single_op_opt flag in the request object was previously used to track whether an operation is a lock-op-unlock type, for the purposes of completion. Tracking this state has been merged into the packet header flags, so the single_op_opt flag is no longer needed. Reviewer: goodell
-
James Dinan authored
Removed source_win_handle from the packet header, since it's no longer needed. Reviewer: goodell
-
James Dinan authored
We can simplify completion of get operations at the target, since Finish_rma_op should now be called unconditionally. Flags are now used to determing whether an acknowledgement should be sent, so the source_window_handle check is removed. Reviewer: goodell
-
James Dinan authored
This patch uses packet header flags to piggyback the unlock operation on other RMA operations. For most operations, there is no net change. However, FOP and GACC, unlock piggybacking was previously not implemented. Reviewer: goodell
-
James Dinan authored
Added a flags field to MPID_Request that we can use to stash flags from suspended RMA ops and retrieve them later when we complete the operation. Reviewer: goodell
-
James Dinan authored
This change extends RMA op processing to pass around flags as needed. It doesn't yet utilize the flags. Reviewer: goodell
-
James Dinan authored
Added flags field to RMA operation packets that are sent from origin to target. This will be used to piggyback RMA synchronization operations. Reviewer: goodell
-
James Dinan authored
Convert the packet type field from an enum to a uint16. This change was also applied to packet types defined by Nemesis. Downstream netmod developers will also have to make this change if they defined new packet types. Reviewer: goodell
-
James Dinan authored
This patch consolidates the synchronization and tracking of RMA operations into a single routine that is called whenever we complete an operation. The only exception are lock-op-unlock operations that are completed from within the lock operation processing code. This code is pretty ugly, but it will get cleaner once packet flags are been added. Reviewer: goodell
-
James Dinan authored
Partially reverted [0b364068] in preparation for incorporating new piggybacking infrastructure. This temporarily re-introduces that bug and it will be fixed again with the new piggybacking patch. Reviwer: goodell
-