Optimized implementation for MPI synchronization. More...
Classes | |
| class | Factory |
Public Member Functions | |
| MpiVariableSynchronizeDispatcher (Factory *f) | |
| Public Member Functions inherited from Arcane::AbstractDataSynchronizeImplementation | |
| void | setDataSynchronizeInfo (DataSynchronizeInfo *sync_info) final |
Protected Member Functions | |
| void | compute () override |
| void | beginSynchronize (IDataSynchronizeBuffer *ds_buf) override |
| void | endSynchronize (IDataSynchronizeBuffer *ds_buf) override |
| Protected Member Functions inherited from Arcane::AbstractDataSynchronizeImplementation | |
| DataSynchronizeInfo * | _syncInfo () const |
Optimized implementation for MPI synchronization.
Compared to the base version, this implementation uses MPI_Waitsome (instead of Waitall) and copies into the destination buffer as soon as a message arrives.
NOTE: this optimization respects the MPI standard which states that you must not touch the memory area of a message until it is complete.
Definition at line 64 of file MpiVariableSynchronizeDispatcher.cc.
|
explicit |
Definition at line 123 of file MpiVariableSynchronizeDispatcher.cc.
|
overrideprotectedvirtual |
Implements Arcane::IDataSynchronizeImplementation.
Definition at line 134 of file MpiVariableSynchronizeDispatcher.cc.
|
inlineoverrideprotectedvirtual |
Implements Arcane::IDataSynchronizeImplementation.
Definition at line 74 of file MpiVariableSynchronizeDispatcher.cc.
|
overrideprotectedvirtual |
Implements Arcane::IDataSynchronizeImplementation.
Definition at line 194 of file MpiVariableSynchronizeDispatcher.cc.
|
private |
Definition at line 80 of file MpiVariableSynchronizeDispatcher.cc.
|
private |
Definition at line 81 of file MpiVariableSynchronizeDispatcher.cc.
|
private |
Definition at line 82 of file MpiVariableSynchronizeDispatcher.cc.
|
private |
Definition at line 83 of file MpiVariableSynchronizeDispatcher.cc.
|
private |
Definition at line 84 of file MpiVariableSynchronizeDispatcher.cc.