ADOL-C: Automatic Differentiation in C/C++ 2.7.3
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
AdolcTool Struct Referencefinal

MeDiPack adapter that connects taped ADOL-C values with AMPI. More...

#include <medipacksupport.h>

Inheritance diagram for AdolcTool:
Inheritance graph
[legend]
Collaboration diagram for AdolcTool:
Collaboration graph
[legend]

Public Types

typedef adouble Type
 
typedef void AdjointType
 
typedef double ModifiedType
 
typedef double PrimalType
 
typedef int IndexType
 
typedef medi::MpiTypeDefault< AdolcTool > MediType
 

Public Member Functions

 AdolcTool (MPI_Datatype primalMpiType, MPI_Datatype adjointMpiType)
 
bool isActiveType () const
 
bool isHandleRequired () const
 
bool isOldPrimalsRequired () const
 
void startAssembly (medi::HandleBase *h) const
 
void addToolAction (medi::HandleBase *h) const
 
void stopAssembly (medi::HandleBase *h) const
 
medi::AMPI_Op convertOperator (medi::AMPI_Op op) const
 
void createPrimalTypeBuffer (PrimalType *&buf, size_t size) const
 
void createIndexTypeBuffer (IndexType *&buf, size_t size) const
 
void deletePrimalTypeBuffer (PrimalType *&buf) const
 
void deleteIndexTypeBuffer (IndexType *&buf) const
 

Static Public Member Functions

static void initTypes ()
 
static void init ()
 
static void finalizeTypes ()
 
static void finalize ()
 
static int getIndex (const Type &value)
 
static void clearIndex (Type &value)
 
static PrimalType getValue (const Type &value)
 
static void setIntoModifyBuffer (ModifiedType &modValue, const Type &value)
 
static void getFromModifyBuffer (const ModifiedType &modValue, Type &value)
 
static void createIndex (Type &value, IndexType &index)
 
static void registerValue (Type &value, PrimalType &oldPrimal, IndexType &index)
 
static PrimalType getPrimalFromMod (const ModifiedType &modValue)
 
static void setPrimalToMod (ModifiedType &modValue, const PrimalType &value)
 
static void modifyDependency (ModifiedType &inval, ModifiedType &inoutval)
 

Static Public Attributes

static MPI_Datatype MpiType
 
static MPI_Datatype ModifiedMpiType
 
static MPI_Datatype PrimalMpiType
 
static MPI_Datatype AdjointMpiType
 
static MediType * MPI_TYPE
 
static medi::AMPI_Datatype MPI_INT_TYPE
 
static medi::OperatorHelper< medi::FunctionHelper< adouble, double, double, int, double, AdolcTool > > operatorHelper
 

Detailed Description

MeDiPack adapter that connects taped ADOL-C values with AMPI.

The adapter supplies active-type metadata, MPI datatypes, and callbacks used to record communication operations on an ADOL-C tape.

Member Typedef Documentation

◆ AdjointType

typedef void AdolcTool::AdjointType

◆ IndexType

typedef int AdolcTool::IndexType

◆ MediType

typedef medi::MpiTypeDefault<AdolcTool> AdolcTool::MediType

◆ ModifiedType

typedef double AdolcTool::ModifiedType

◆ PrimalType

typedef double AdolcTool::PrimalType

◆ Type

Constructor & Destructor Documentation

◆ AdolcTool()

AdolcTool::AdolcTool ( MPI_Datatype  primalMpiType,
MPI_Datatype  adjointMpiType 
)
inline

Member Function Documentation

◆ addToolAction()

void AdolcTool::addToolAction ( medi::HandleBase *  h) const
inline

◆ clearIndex()

static void AdolcTool::clearIndex ( Type &  value)
inlinestatic

◆ convertOperator()

medi::AMPI_Op AdolcTool::convertOperator ( medi::AMPI_Op  op) const
inline

◆ createIndex()

static void AdolcTool::createIndex ( Type &  value,
IndexType &  index 
)
inlinestatic

◆ createIndexTypeBuffer()

void AdolcTool::createIndexTypeBuffer ( IndexType *&  buf,
size_t  size 
) const
inline

◆ createPrimalTypeBuffer()

void AdolcTool::createPrimalTypeBuffer ( PrimalType *&  buf,
size_t  size 
) const
inline

◆ deleteIndexTypeBuffer()

void AdolcTool::deleteIndexTypeBuffer ( IndexType *&  buf) const
inline

◆ deletePrimalTypeBuffer()

void AdolcTool::deletePrimalTypeBuffer ( PrimalType *&  buf) const
inline

◆ finalize()

static void AdolcTool::finalize ( )
inlinestatic

◆ finalizeTypes()

static void AdolcTool::finalizeTypes ( )
inlinestatic

◆ getFromModifyBuffer()

static void AdolcTool::getFromModifyBuffer ( const ModifiedType &  modValue,
Type &  value 
)
inlinestatic

◆ getIndex()

static int AdolcTool::getIndex ( const Type &  value)
inlinestatic

◆ getPrimalFromMod()

static PrimalType AdolcTool::getPrimalFromMod ( const ModifiedType &  modValue)
inlinestatic

◆ getValue()

static PrimalType AdolcTool::getValue ( const Type &  value)
inlinestatic

◆ init()

static void AdolcTool::init ( )
inlinestatic

◆ initTypes()

static void AdolcTool::initTypes ( )
inlinestatic

◆ isActiveType()

bool AdolcTool::isActiveType ( ) const
inline

◆ isHandleRequired()

bool AdolcTool::isHandleRequired ( ) const
inline

◆ isOldPrimalsRequired()

bool AdolcTool::isOldPrimalsRequired ( ) const
inline

◆ modifyDependency()

static void AdolcTool::modifyDependency ( ModifiedType &  inval,
ModifiedType &  inoutval 
)
inlinestatic

◆ registerValue()

static void AdolcTool::registerValue ( Type &  value,
PrimalType &  oldPrimal,
IndexType &  index 
)
inlinestatic

◆ setIntoModifyBuffer()

static void AdolcTool::setIntoModifyBuffer ( ModifiedType &  modValue,
const Type &  value 
)
inlinestatic

◆ setPrimalToMod()

static void AdolcTool::setPrimalToMod ( ModifiedType &  modValue,
const PrimalType &  value 
)
inlinestatic

◆ startAssembly()

void AdolcTool::startAssembly ( medi::HandleBase *  h) const
inline

◆ stopAssembly()

void AdolcTool::stopAssembly ( medi::HandleBase *  h) const
inline

Member Data Documentation

◆ AdjointMpiType

MPI_Datatype AdolcTool::AdjointMpiType
static

◆ ModifiedMpiType

MPI_Datatype AdolcTool::ModifiedMpiType
static

◆ MPI_INT_TYPE

medi::AMPI_Datatype AdolcTool::MPI_INT_TYPE
static

◆ MPI_TYPE

MediType* AdolcTool::MPI_TYPE
static

◆ MpiType

MPI_Datatype AdolcTool::MpiType
static

◆ operatorHelper

medi::OperatorHelper< medi::FunctionHelper<adouble, double, double, int, double, AdolcTool> > AdolcTool::operatorHelper
static

◆ PrimalMpiType

MPI_Datatype AdolcTool::PrimalMpiType
static

The documentation for this struct was generated from the following file: