- 08 Nov, 2012 12 commits
-
-
James Dinan authored
-
James Dinan authored
-
James Dinan authored
This fixes the performance regression that was introduced by concatenation of per-target lists. Reviewer: goodell
-
James Dinan authored
Moved fence_issued and start_assert MPID_Win members into CH3. These should not be a required part of the ADI, since they are not needed above the ADI and implementations should be free to choose different mechanisms for tracking the state of synchronization operations. Reviewer: buntinas
-
James Dinan authored
The fence_cnt field in MPID_Win is not a counter, it's a flag that indicates if fence has been called. Reviewer: buntinas
-
James Dinan authored
Added tests for improper RMA synchronization. reviewer: balaji
-
James Dinan authored
The implementation of lock/unlock_all was updated with the addition of epoch tracking. This patch adds a corresponding update of the memory fences for shared memory windows. Reviewer: balaji
-
James Dinan authored
This patch adds code to track the RMA epoch state of the local process. Currently, we are tracking the synchronization states that are allowed by MPICH; in the future, we may want to restrict this to only states that are allowed by the standard. The addition of epoch tracking has several benefits: * It allows us to detect synchronization errors (implemented in this patch). * It allows us to implement lock_all more efficiently (implemented in this patch). * It will allow us to distinguish between active and passive target epochs and avoid O(p) op list concatenation (future patch). Reviewer: balaji
-
James Dinan authored
This change will set us up to acquire the local lock inside of other synchronization calls, specifically Win_lock_all. Reviewer: buntinas
-
James Dinan authored
Reviewer: goodell
-
David Goodell authored
I thought I fixed it before, but I misunderstood the script and didn't check the output before committing last time. No reviewer.
-
Pavan Balaji authored
programs. No reviewer.
-
- 07 Nov, 2012 14 commits
-
-
David Goodell authored
The dist_graph implementation itself doesn't need any changes, since we already switched away from an impl where MPI_UNWEIGHTED==NULL. Reviewed by dinan@.
-
David Goodell authored
Don't litter a ".tmp" file in case of failure. Notice changes to the "maint/errmsgdirs" file. Reviewed by dinan@.
-
David Goodell authored
And add "src/mpi_t" to the list of special directories that is searched for "errnames.txt" files. Reviewed by dinan@.
-
David Goodell authored
Reviewed by dinan@.
-
David Goodell authored
Reviewed by dinan@.
-
David Goodell authored
Should simplify numerous datatype handle conversions that we currently do with `expr` and manual hex-->dec conversion in configure.ac. Reviewed by dinan@.
-
David Goodell authored
Forgotten from the previous MPI_Count-related commits (oops). Reviewed by dinan@.
-
Pavan Balaji authored
Reviewed by buntinas.
-
Pavan Balaji authored
Reviewed by buntinas.
-
Pavan Balaji authored
This is a very lame implementation that creates this object at Init time and does not populate it with any keys (the MPI standard does not require that the keys be populated). Reviewed by buntinas.
-
Pavan Balaji authored
Reviewed by buntinas.
-
Pavan Balaji authored
arguments are defined. They are entirely ignored. Reviewed by buntinas.
-
Pavan Balaji authored
Reviewed by buntinas.
-
Pavan Balaji authored
is completely ignored. Reviewed by buntinas.
-
- 06 Nov, 2012 14 commits
-
-
David Goodell authored
There are other instances of this warning that definitely need to get fixed, but this one is especially annoying because it is in a header and therefore causes a warning in nearly all nemesis compilation units. Reviewed by balaji@.
-
David Goodell authored
Any code that causes this new warning to trigger is likely to be a bug, or at least a case that ought to be checked/asserted and then explicitly casted. This warning is essential to tracking down problems related to the new MPI_Count datatype/interfaces added in MPI-3. Reviewed by balaji@.
-
David Goodell authored
This macro checks for positive overflow due to multiplication and asserts if the product would exceed the given limit. Useful for guarding older, sloppier code from before the MPI_Count transition. Reviewed by balaji@.
-
David Goodell authored
Attempts to validate that we have successfully implemented MPI-3's new "large count" routines and updated behavior for "legacy" count routines: MPI_Get_count MPI_Get_elements_x MPI_Status_set_elements_x MPI_Type_get_extent_x MPI_Type_get_true_extent_x MPI_Type_size_x Because we only use contigs and vectors in this test, we are actually missing quite a bit of coverage in terms of checking for MPI_Count-clean size/extent calculations. At some point we should strengthen this test with a wider variety of tests using more complex datatypes. Reviewed by balaji@.
-
David Goodell authored
Also update MPI_Type_get_true_extent to have proper MPI_UNDEFINED-clamping per MPI-3. Reviewed by balaji@.
-
David Goodell authored
Also update MPI_Type_get_extent to have proper MPI_UNDEFINED-clamping per MPI-3. Reviewed by balaji@.
-
David Goodell authored
Also update MPI_Status_set_elements to have proper MPI_UNDEFINED-clamping per MPI-3. Reviewed by balaji@.
-
David Goodell authored
Also update MPI_Get_elements to have proper MPI_UNDEFINED-clamping per MPI-3. Reviewed by balaji@.
-
David Goodell authored
Also update MPI_Type_size to have proper MPI_UNDEFINED-clamping per MPI-3. Reviewed by balaji@.
-
David Goodell authored
MPI_UNDEFINED is now returned in case the count cannot be represented by an "int". Work may still be needed for the case when sizeof(int)!=sizeof(MPI_Fint). Reviewed by balaji@.
-
David Goodell authored
This commit actually does a few things to the status object: (1) `int count` becomes `MPI_Count count`; (2) `count` & `cancelled` have been reordered after the "public" fields (e.g., MPI_TAG) to ensure that direct access from Fortran is not somehow broken by the (potentially) non-INTEGER count field; (3) and a new future-proofing field, `abi_slush_fund`, has been added to attempt to allow us to add fields to the status object in the future without having to break ABI compatibility. There's still too much duplication of the status object's contents/layout in multiple pieces of the code, but I don't see a reasonable way to fix this in the near term. Warning: large count breaks the experimental Fortran binding code generated for handling the "sizeof(int)!=sizeof(MPI_Fint)" case. Reviewed by balaji@.
-
David Goodell authored
This commit is largely auto-generated boilerplate for the following "large count" routines: * MPI_Get_elements_x * MPI_Type_get_extent_x * MPI_Type_get_true_extent_x * MPI_Type_size_x * MPI_Status_set_elements_x None of these routines actually _do_ anything (not even assert/error out) as implemented. But this makes it very easy to review the logic of the implementation later on in the succeeding smaller commits. Reviewed by balaji@.
-
David Goodell authored
This commit only contains the build system and mpi.h modifications necessary for `MPI_Count` to be a valid new type. It does *not* actually use this new type anywhere, such as in MPI_Status. Reviewed by balaji@.
-
David Goodell authored
Currently unused, but we should probably be using these in more places for overflow checks. Reviewed by balaji@.
-