Nektar++
|
#include <CollectionOptimisation.h>
Public Member Functions | |
COLLECTIONS_EXPORT | CollectionOptimisation (LibUtilities::SessionReaderSharedPtr pSession, ImplementationType defaultType=eStdMat) |
~CollectionOptimisation () | |
ImplementationType | GetDefaultImplementationType () |
unsigned int | GetMaxCollectionSize () |
bool | IsUsingAutotuning () |
COLLECTIONS_EXPORT OperatorImpMap | GetOperatorImpMap (StdRegions::StdExpansionSharedPtr pExp) |
Get Operator Implementation Map from XMl or using default;. More... | |
COLLECTIONS_EXPORT OperatorImpMap | SetWithTimings (std::vector< StdRegions::StdExpansionSharedPtr > pGeom, OperatorImpMap &impTypes, bool verbose=true) |
bool | SetByXml (void) |
Private Types | |
typedef std::pair < LibUtilities::ShapeType, int > | ElmtOrder |
Private Attributes | |
std::map< OperatorType, std::map< ElmtOrder, ImplementationType > > | m_global |
bool | m_setByXml |
bool | m_autotune |
ImplementationType | m_defaultType |
unsigned int | m_maxCollSize |
Static Private Attributes | |
static std::map < OpImpTimingKey, OperatorImpMap > | m_opImpMap |
Definition at line 114 of file CollectionOptimisation.h.
|
private |
Definition at line 155 of file CollectionOptimisation.h.
Nektar::Collections::CollectionOptimisation::CollectionOptimisation | ( | LibUtilities::SessionReaderSharedPtr | pSession, |
ImplementationType | defaultType = eStdMat |
||
) |
Definition at line 49 of file CollectionOptimisation.cpp.
References ASSERTL0, Nektar::LibUtilities::eHexahedron, Nektar::Collections::eIterPerExp, Nektar::Collections::eNoCollection, Nektar::Collections::eNoImpType, Nektar::Collections::ePhysDeriv, Nektar::LibUtilities::ePrism, Nektar::LibUtilities::ePyramid, Nektar::LibUtilities::eQuadrilateral, Nektar::LibUtilities::eSegment, Nektar::Collections::eStdMat, Nektar::Collections::eSumFac, Nektar::LibUtilities::eTetrahedron, Nektar::LibUtilities::eTriangle, Nektar::Collections::ImplementationTypeMap, Nektar::iterator, Nektar::Collections::OperatorTypeMap, Nektar::LibUtilities::ShapeTypeMap, Nektar::Collections::SIZE_ImplementationType, and Nektar::Collections::SIZE_OperatorType.
|
inline |
Definition at line 122 of file CollectionOptimisation.h.
|
inline |
Definition at line 124 of file CollectionOptimisation.h.
References m_defaultType.
Referenced by Nektar::MultiRegions::ExpList::CreateCollections().
|
inline |
Definition at line 129 of file CollectionOptimisation.h.
References m_maxCollSize.
Referenced by Nektar::MultiRegions::ExpList::CreateCollections().
OperatorImpMap Nektar::Collections::CollectionOptimisation::GetOperatorImpMap | ( | StdRegions::StdExpansionSharedPtr | pExp | ) |
Get Operator Implementation Map from XMl or using default;.
Definition at line 286 of file CollectionOptimisation.cpp.
References Nektar::Collections::eNoCollection, and Nektar::iterator.
Referenced by Nektar::MultiRegions::ExpList::CreateCollections().
|
inline |
Definition at line 134 of file CollectionOptimisation.h.
References m_autotune.
Referenced by Nektar::MultiRegions::ExpList::CreateCollections().
|
inline |
Definition at line 149 of file CollectionOptimisation.h.
References m_setByXml.
OperatorImpMap Nektar::Collections::CollectionOptimisation::SetWithTimings | ( | std::vector< StdRegions::StdExpansionSharedPtr > | pGeom, |
OperatorImpMap & | impTypes, | ||
bool | verbose = true |
||
) |
Definition at line 327 of file CollectionOptimisation.cpp.
References Nektar::Collections::GetOperatorFactory(), Vmath::Imin(), Nektar::Collections::ImplementationTypeMap, Nektar::Collections::OperatorTypeMap, Nektar::LibUtilities::ShapeTypeMap, Nektar::Collections::SIZE_ImplementationType, Nektar::Collections::SIZE_OperatorType, Nektar::Timer::Start(), Nektar::Timer::Stop(), and Nektar::Timer::TimePerTest().
Referenced by Nektar::MultiRegions::ExpList::CreateCollections().
|
private |
Definition at line 160 of file CollectionOptimisation.h.
Referenced by IsUsingAutotuning().
|
private |
Definition at line 161 of file CollectionOptimisation.h.
Referenced by GetDefaultImplementationType().
|
private |
Definition at line 158 of file CollectionOptimisation.h.
|
private |
Definition at line 162 of file CollectionOptimisation.h.
Referenced by GetMaxCollectionSize().
|
staticprivate |
Definition at line 157 of file CollectionOptimisation.h.
|
private |
Definition at line 159 of file CollectionOptimisation.h.
Referenced by SetByXml().