#include <adToolInterface.h>
Public Member Functions | |
ADToolBase (MPI_Datatype primalMpiType, MPI_Datatype adjointMpiType) | |
Construct the type safe wrapper. More... | |
void | createIndexTypeBuffer (void *&buf, size_t size) const |
Create an array for the index variables. More... | |
void | createPrimalTypeBuffer (void *&buf, size_t size) const |
Create an array for the passive variables. More... | |
void | deleteIndexTypeBuffer (void *&buf) const |
Delete the array of the index variables. More... | |
void | deletePrimalTypeBuffer (void *&buf) const |
Delete the array of the passive variables. More... | |
Public Member Functions inherited from medi::ADToolInterface | |
virtual void | addToolAction (HandleBase *h) const =0 |
Register the handle so that the AD tool can evaluate it in the reverse sweep. More... | |
ADToolInterface (MPI_Datatype primalMpiType, MPI_Datatype adjointMpiType) | |
Create an interface for the AD type. More... | |
virtual AMPI_Op | convertOperator (AMPI_Op op) const =0 |
Convert the mpi intrinsic operators like MPI_SUM to the specific one for the AD tool. More... | |
virtual void | createIndexTypeBuffer (void *&buf, size_t size) const =0 |
Create an array for the index variables. More... | |
virtual void | createPrimalTypeBuffer (void *&buf, size_t size) const =0 |
Create an array for the passive variables. More... | |
virtual void | deleteIndexTypeBuffer (void *&buf) const =0 |
Delete the array of the index variables. More... | |
virtual void | deletePrimalTypeBuffer (void *&buf) const =0 |
Delete the array of the passive variables. More... | |
MPI_Datatype | getAdjointMpiType () const |
The mpi data type for the adjoint type. More... | |
MPI_Datatype | getPrimalMpiType () const |
The mpi data type for the primal type. More... | |
virtual bool | isActiveType () const =0 |
If this AD interface represents an AD type. More... | |
virtual bool | isHandleRequired () const =0 |
The handle needs to be created if an adjoint action is required by the AD tool. More... | |
virtual bool | isModifiedBufferRequired () const =0 |
Indicates if the AD tool needs to modify the buffer in order to send the correct data. More... | |
virtual bool | isOldPrimalsRequired () const =0 |
Indicates if MeDiPack needs store the overwritten primal values for the AD tool. More... | |
virtual void | startAssembly (HandleBase *h) const =0 |
Indicates to the AD tool that an adjoint action is in the progress of beeing recorded. More... | |
virtual void | stopAssembly (HandleBase *h) const =0 |
Indicates to the AD tool that an adjoint action is beeing finished. More... | |
virtual | ~ADToolInterface () |
Additional Inherited Members | |
Public Types inherited from medi::ADToolInterface | |
typedef void | AdjointType |
The data type that is used for the adjoint variables. More... | |
typedef void | IndexType |
The data type from the AD tool for the identification of AD variables. More... | |
typedef void | ModifiedType |
The type that is send through the modified buffers. More... | |
typedef void | PrimalType |
The data type used for the floating point data. More... | |
typedef void | Type |
The actual type that the AD implementation uses. More... | |
A type save implementation of the AD tool interface.
All functions with void types are forwarded to the type safe implementation.
Impl | The class that implements the actual interface in a type save manner. |
AdjointTypeB | The data type for the adjoint variables that the implementation uses. |
PrimalTypeB | The data type for the passive variables that the implementation uses. |
IndexTypeB | The data type for the index variables that the implementation uses. |
|
inline |
Construct the type safe wrapper.
[in] | primalMpiType | The mpi data type for the primal type. |
[in] | adjointMpiType | The mpi data type for the adjoint type. |
|
inlinevirtual |
Create an array for the index variables.
[out] | buf | The pointer for the buffer. |
[in] | size | The size of the buffer. |
Implements medi::ADToolInterface.
|
inlinevirtual |
Create an array for the passive variables.
[out] | buf | The pointer for the buffer. |
[in] | size | The size of the buffer. |
Implements medi::ADToolInterface.
|
inlinevirtual |
Delete the array of the index variables.
[in,out] | buf | The pointer for the buffer. |
Implements medi::ADToolInterface.
|
inlinevirtual |
Delete the array of the passive variables.
[in,out] | buf | The pointer for the buffer. |
Implements medi::ADToolInterface.