36 #ifndef NEKTAR_LIBRARY_COLLECTIONS_COLLECTIONOPTIMISATION_H
37 #define NEKTAR_LIBRARY_COLLECTIONS_COLLECTIONOPTIMISATION_H
54 int ngeoms,
int nbases):
82 if(
m_exp->GetBasis(i)->GetBasisKey() !=
83 rhs.
m_exp->GetBasis(i)->GetBasisKey() )
85 return (
m_exp->GetBasis(i)->GetBasisKey() <
86 rhs.
m_exp->GetBasis(i)->GetBasisKey());
145 std::vector<StdRegions::StdExpansionSharedPtr> pGeom,
147 bool verbose =
true);
155 typedef std::pair<LibUtilities::ShapeType, int>
ElmtOrder;
158 std::map<OperatorType, std::map<ElmtOrder, ImplementationType> >
m_global;
COLLECTIONS_EXPORT OperatorImpMap SetWithTimings(std::vector< StdRegions::StdExpansionSharedPtr > pGeom, OperatorImpMap &impTypes, bool verbose=true)
~OpImpTimingKey(void)
Destructor.
COLLECTIONS_EXPORT OperatorImpMap GetOperatorImpMap(StdRegions::StdExpansionSharedPtr pExp)
Get Operator Implementation Map from XMl or using default;.
std::map< OperatorType, std::map< ElmtOrder, ImplementationType > > m_global
bool operator<(const OpImpTimingKey &rhs) const
StdRegions::StdExpansionSharedPtr m_exp
static std::map< OpImpTimingKey, OperatorImpMap > m_opImpMap
boost::shared_ptr< SessionReader > SessionReaderSharedPtr
ImplementationType m_defaultType
std::map< OperatorType, ImplementationType > OperatorImpMap
OpImpTimingKey(StdRegions::StdExpansionSharedPtr pExp, int ngeoms, int nbases)
Constructor.
COLLECTIONS_EXPORT CollectionOptimisation(LibUtilities::SessionReaderSharedPtr pSession, ImplementationType defaultType=eStdMat)
unsigned int GetMaxCollectionSize()
#define COLLECTIONS_EXPORT
ImplementationType GetDefaultImplementationType()
~CollectionOptimisation()
boost::shared_ptr< StdExpansion > StdExpansionSharedPtr
std::pair< LibUtilities::ShapeType, int > ElmtOrder
unsigned int m_maxCollSize