|
| | ADToolBase (MPI_Datatype primalMpiType, MPI_Datatype adjointMpiType) |
| | Construct the type safe wrapper.
|
| |
| void | createIndexTypeBuffer (void *&buf, size_t size) const |
| | Create an array for the index variables.
|
| |
| void | createPrimalTypeBuffer (void *&buf, size_t size) const |
| | Create an array for the passive variables.
|
| |
| void | deleteIndexTypeBuffer (void *&buf) const |
| | Delete the array of the index variables.
|
| |
| void | deletePrimalTypeBuffer (void *&buf) const |
| | Delete the array of the passive variables.
|
| |
| virtual void | addToolAction (HandleBase *h) const =0 |
| | Register the handle so that the AD tool can evaluate it in the reverse sweep.
|
| |
| | ADToolInterface (MPI_Datatype primalMpiType, MPI_Datatype adjointMpiType) |
| | Create an interface for the AD type.
|
| |
| 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.
|
| |
| MPI_Datatype | getAdjointMpiType () const |
| | The mpi data type for the adjoint type.
|
| |
| MPI_Datatype | getPrimalMpiType () const |
| | The mpi data type for the primal type.
|
| |
| virtual bool | isActiveType () const =0 |
| | If this AD interface represents an AD type.
|
| |
| virtual bool | isHandleRequired () const =0 |
| | The handle needs to be created if an adjoint action is required by the AD tool.
|
| |
| virtual bool | isModifiedBufferRequired () const =0 |
| | Indicates if the AD tool needs to modify the buffer in order to send the correct data.
|
| |
| virtual bool | isOldPrimalsRequired () const =0 |
| | Indicates if MeDiPack needs store the overwritten primal values for the AD tool.
|
| |
| virtual void | startAssembly (HandleBase *h) const =0 |
| | Indicates to the AD tool that an adjoint action is in the progress of beeing recorded.
|
| |
| virtual void | stopAssembly (HandleBase *h) const =0 |
| | Indicates to the AD tool that an adjoint action is beeing finished.
|
| |
| virtual | ~ADToolInterface () |
| |
template<typename Impl, typename AdjointTypeB, typename PrimalTypeB, typename IndexTypeB>
class medi::ADToolBase< Impl, AdjointTypeB, PrimalTypeB, IndexTypeB >
A type save implementation of the AD tool interface.
All functions with void types are forwarded to the type safe implementation.
- Template Parameters
-
| 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. |
template<typename Impl, typename AdjointTypeB, typename PrimalTypeB, typename IndexTypeB>
| void medi::ADToolBase< Impl, AdjointTypeB, PrimalTypeB, IndexTypeB >::createIndexTypeBuffer |
( |
void *& | buf, |
|
|
size_t | size ) const |
|
inlinevirtual |
template<typename Impl, typename AdjointTypeB, typename PrimalTypeB, typename IndexTypeB>
| void medi::ADToolBase< Impl, AdjointTypeB, PrimalTypeB, IndexTypeB >::createPrimalTypeBuffer |
( |
void *& | buf, |
|
|
size_t | size ) const |
|
inlinevirtual |
template<typename Impl, typename AdjointTypeB, typename PrimalTypeB, typename IndexTypeB>
| void medi::ADToolBase< Impl, AdjointTypeB, PrimalTypeB, IndexTypeB >::deleteIndexTypeBuffer |
( |
void *& | buf | ) |
const |
|
inlinevirtual |
template<typename Impl, typename AdjointTypeB, typename PrimalTypeB, typename IndexTypeB>
| void medi::ADToolBase< Impl, AdjointTypeB, PrimalTypeB, IndexTypeB >::deletePrimalTypeBuffer |
( |
void *& | buf | ) |
const |
|
inlinevirtual |