ls1-MarDyn
ls1-MarDyn molecular dynamics code
CollectiveCommBaseInterface.h
1#pragma once
2
3#include <vector>
4
6enum ReduceType {
7 SUM, MIN, MAX
8};
9
25
26public:
27
30
33 virtual void appendInt(int intValue) = 0;
34
37 virtual void appendUnsLong(unsigned long unsLongValue) = 0;
38
41 virtual void appendFloat(float floatValue) = 0;
42
45 virtual void appendDouble(double doubleValue) = 0;
46
49 virtual void appendLongDouble(long double longDoubleValue) = 0;
50
53 virtual void broadcast(int /*root*/ = 0) = 0;
54
56 virtual void allreduceSum() = 0;
57
60 virtual void allreduceCustom(ReduceType type) = 0;
61
63 virtual void scanSum() = 0;
64
70 virtual int getInt() = 0;
71
77 virtual unsigned long getUnsLong() = 0;
78
84 virtual float getFloat() = 0;
85
91 virtual double getDouble() = 0;
92
98 virtual long double getLongDouble() = 0;
99
102 virtual void finalize() = 0;
103
106 virtual size_t getTotalSize() = 0;
107};
108
This class is provides an interface for the base class of the collective communication.
Definition: CollectiveCommBaseInterface.h:24
virtual void appendUnsLong(unsigned long unsLongValue)=0
virtual double getDouble()=0
virtual unsigned long getUnsLong()=0
virtual void allreduceSum()=0
Performs an all-reduce (sum)
virtual long double getLongDouble()=0
virtual size_t getTotalSize()=0
virtual void appendInt(int intValue)=0
virtual void allreduceCustom(ReduceType type)=0
virtual void appendDouble(double doubleValue)=0
virtual void appendFloat(float floatValue)=0
virtual float getFloat()=0
virtual void finalize()=0
delete memory and MPI_Type
virtual void appendLongDouble(long double longDoubleValue)=0
virtual ~CollectiveCommBaseInterface()
virtual destructor
Definition: CollectiveCommBaseInterface.h:29
virtual void broadcast(int=0)=0
virtual void scanSum()=0
Performs a scan (sum)
Enumeration class corresponding to the type schema type.
Definition: vtk-unstructured.h:1746