- 13 Jan, 2015 1 commit
-
-
Wesley Bland authored
There was an accidental ADI breakage earlier when MPI level codes would query into the dev part of the MPID request object. This commit removes that breakage by adding a new macro into the mpiimpl.h file to portably check whether a request is anysource. For now, in pamid, this macro always evaluates to 0. This can easily be fixed by overwriting it in the pamid code, but since pamid doesn't support FT, it won't have any functional change either. Signed-off-by:
Huiwei Lu <huiweilu@mcs.anl.gov>
-
- 12 Jan, 2015 3 commits
-
-
Wesley Bland authored
This macro was used inside CH3 to determine if the communicator could be used for anysource communication. With the rewrite of the anysource fault tolerance logic, it is now necessary to use it at the MPI level. Because it is a macro and not a function, the macro is defined in mpiimple.h as (1) and then overwritten in the ch3 device. Future devices can also overwrite it if desired. Signed-off-by:
Huiwei Lu <huiweilu@mcs.anl.gov>
-
Wesley Bland authored
If a failure is detected, even if no request is actually complete, the completion counter will be incremented now as a way to give control back to the MPI layer to let it decide whether or not to continue. This gives the request completion functions a chance to see if they're waiting on an MPI_ANY_SOURCE request and if so, to return an error indicating that the completion function has a MPIX_ERR_PROC_FAILED_PENDING failure that the user needs to acknowledge. All of these functions should go into the progress engine at least once as a way to ensure that even if they will be returning an error, they'll at least give MPI a way to make progress and potentially still complete the request objects even if the user never acknowledges the failure. A follow on commit will add the functionality to keep the progress engine from getting stuck if a failure is discovered before entering the completion function. Signed-off-by:
Huiwei Lu <huiweilu@mcs.anl.gov>
-
Wesley Bland authored
The existing way that we handle non-blocking requests involving wildcard receive operations is incorrect. We're cancelling request operations and trying to recreate them later. In the meantime, it's messing with matching and makes it possible (likely?) that some messages that arrive will never be matched. A new way of handling this is coming next. Signed-off-by:
Huiwei Lu <huiweilu@mcs.anl.gov>
-
- 06 Nov, 2014 1 commit
-
-
Wesley Bland authored
Before calling the progress engine, make sure none of the operations should return an error for MPIX_ERR_PROC_FAILED_PENDING. They would cause the progress engine to hang (potentially) so we can't enter it. Instead, mark the appropriate error codes and return immediately. Signed-off-by:
Huiwei Lu <huiweilu@mcs.anl.gov>
-
- 31 Jul, 2014 1 commit
-
-
Wesley Bland authored
The MPI_Waitall and MPI_Testall functions should return MPIX_ERR_PROC_FAILED_PENDING when a process failure prevents the operations from completing. Signed-off-by:
Junchao Zhang <jczhang@mcs.anl.gov>
-
- 07 Jul, 2014 1 commit
-
-
Moved the weak,alias attribute declarations from header files to the implementation. Complies with the requirement that alias targets are defined in the same compilation unit. Fixes #2002 Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
- 10 Oct, 2012 1 commit
-
-
David Goodell authored
By setting "indent-tabs-mode:nil" we should hopefully begin to slowly squeeze out hard tabs from the source without a disruptive (to downstream projects) whitespace-fixing change. No reviewer.
-
- 20 Sep, 2012 1 commit
-
-
Pavan Balaji authored
In several places, after checking for a parameter (e.g., comm) we were directly using it assuming that the parameter is valid. Since the previous ERRTEST macros did not jump to fn_fail on an error, this could result in undefined behavior if the parameter was invalid. Now, since we jump on errors within the macros themselves, once the check is done, we know that the parameter values are valid. Reviewed by buntinas.
-
- 04 Feb, 2011 1 commit
-
-
David Goodell authored
This change moves the greq functions and state into a subordinate struct that is only created for generalized requests. This saves ~48 bytes per request on many platforms in the common pt2pt request case. Reviewed by buntinas@.
-
- 27 Jul, 2010 1 commit
-
-
David Goodell authored
When compiled for fine-grained threading, the completion counter serves as a form of lockfree signalling. As such, atomic access and memory barriers must be used to ensure correctness. In per-object mode, this code also contains valgrind client request annotations to inform Helgrind/DRD/TSan about the lockfree signalling pattern. No reviewer.
-
- 20 May, 2010 1 commit
-
-
David Goodell authored
This is done as a separate commit to de-clutter the change with actual logic changes in it. No reviewer.
-
- 17 Sep, 2009 1 commit
-
-
William Gropp authored
[svn-r5355] Added (or moved) MPIU_THREADPRIV_DECL so that the thread-private area is acquired only once within a routine, since the data (pointer to the thread-private area) is fixed during the execution. This reduces the overhead of the nest increment/decrement, for example
-
- 16 May, 2009 1 commit
-
-
William Gropp authored
-
- 22 Sep, 2008 1 commit
-
-
William Gropp authored
[svn-r3177] Switch to the new macro for the global thread critical section (most of this is an automated change, tested against the MPICH2 test suite)
-
- 02 Nov, 2007 1 commit
-
-
Pavan Balaji authored
-