ls1-MarDyn
ls1-MarDyn molecular dynamics code
|
This class provides an interface for the collective communication classes. More...
#include <CollectiveCommunicationInterface.h>
Public Member Functions | |
~CollectiveCommunicationInterface () override=default | |
virtual destructor | |
virtual void | init (MPI_Comm communicator, int numValues, int key=0)=0 |
allocate memory for the values to be sent, initialize counters for specific More... | |
virtual void | allreduceSumAllowPrevious ()=0 |
virtual MPI_Comm | getTopology ()=0 |
![]() | |
virtual | ~CollectiveCommBaseInterface () |
virtual destructor | |
virtual void | appendInt (int intValue)=0 |
virtual void | appendUnsLong (unsigned long unsLongValue)=0 |
virtual void | appendFloat (float floatValue)=0 |
virtual void | appendDouble (double doubleValue)=0 |
virtual void | appendLongDouble (long double longDoubleValue)=0 |
virtual void | broadcast (int=0)=0 |
virtual void | allreduceSum ()=0 |
Performs an all-reduce (sum) More... | |
virtual void | allreduceCustom (ReduceType type)=0 |
virtual void | scanSum ()=0 |
Performs a scan (sum) More... | |
virtual int | getInt ()=0 |
virtual unsigned long | getUnsLong ()=0 |
virtual float | getFloat ()=0 |
virtual double | getDouble ()=0 |
virtual long double | getLongDouble ()=0 |
virtual void | finalize ()=0 |
delete memory and MPI_Type More... | |
virtual size_t | getTotalSize ()=0 |
This class provides an interface for the collective communication classes.
It provides all methods, that are NOT YET provided by CollectiveCommBaseInterface
|
pure virtual |
Performs an all-reduce (sum), however values of previous iterations are permitted. By allowing values from previous iterations, overlapping communication is possible. One possible use case for this function is the reduction of slowly changing variables, e.g. the temperature.
Implemented in CollectiveCommunication, CollectiveCommunicationNonBlocking, and CollectiveCommunicationSingleNonBlocking.
|
pure virtual |
Get the MPI communicator
Implemented in CollectiveCommunication, and CollectiveCommunicationNonBlocking.
|
pure virtual |
allocate memory for the values to be sent, initialize counters for specific
key | The key of the collective communication, this key will be used |
communicator | MPI communicator for the |
numValues | number of values that shall be communicated |
Implemented in CollectiveCommunication, CollectiveCommunicationNonBlocking, and CollectiveCommunicationSingleNonBlocking.