Grid 0.7.0
HMCResourceManager< ImplementationPolicy > Class Template Reference

#include <HMCResourceManager.h>

Public Member Functions

 HMCResourceManager ()
template<class ReaderClass, class vector_type = vComplex>
void initialize (ReaderClass &Read)
template<class RepresentationPolicy>
void GetActionSet (ActionSet< typename ImplementationPolicy::Field, RepresentationPolicy > &Aset)
void AddGrid (const std::string s, GridModule &M)
void AddFourDimGrid (const std::string s)
void AddFourDimGrid (const std::string s, const std::vector< int > simd_decomposition)
void SetMomentumFilter (MomentumFilterBase< typename ImplementationPolicy::Field > *MomFilter)
MomentumFilterBase< typename ImplementationPolicy::Field > * GetMomentumFilter (void)
GridCartesianGetCartesian (std::string s="")
GridRedBlackCartesianGetRBCartesian (std::string s="")
bool haveRNGs () const
void AddRNGs (std::string s="")
void SetRNGSeeds (RNGModuleParameters &Params)
GridSerialRNGGetSerialRNG ()
GridParallelRNGGetParallelRNG ()
void SeedFixedIntegers ()
BaseHmcCheckpointer< ImplementationPolicy > * GetCheckPointer ()
template<template< class CPImplementationPolicy > class CheckpointModule>
void LoadCheckpointer (const CheckpointerParameters &Params_)
template<template< class CPImplementationPolicy, class Metadata > class CheckpointModule, class Metadata>
void LoadCheckpointer (const CheckpointerParameters &Params_, const Metadata &M_)
void LoadBinaryCheckpointer (const CheckpointerParameters &Params_)
void LoadNerscCheckpointer (const CheckpointerParameters &Params_)
template<class T, class... Types>
void AddObservable (Types &&... Args)
std::vector< HmcObservable< typename ImplementationPolicy::Field > * > GetObservables ()

Private Types

typedef HMCModuleBase< BaseHmcCheckpointer< ImplementationPolicy > > CheckpointerBaseModule
typedef HMCModuleBase< HmcObservable< typename ImplementationPolicy::Field > > ObservableBaseModule
typedef ActionModuleBase< Action< typename ImplementationPolicy::Field >, GridModuleActionBaseModule
typedef ImplementationPolicy::Field MomentaField
typedef ImplementationPolicy::Field Field

Private Member Functions

void output_vector_string (const std::vector< std::string > &vs)
template<class ReaderClass>
void fill_ActionsLevel (ReaderClass &Read)

Private Attributes

std::unordered_map< std::string, GridModuleGrids
RNGModule RNGs
std::unique_ptr< CheckpointerBaseModuleCP
std::unique_ptr< MomentumFilterBase< typename ImplementationPolicy::Field > > Filter
std::vector< std::unique_ptr< ObservableBaseModule > > ObservablesList
std::multimap< int, std::unique_ptr< ActionBaseModule > > ActionsList
std::vector< int > multipliers
bool have_RNG
bool have_CheckPointer
bool have_Filter

Detailed Description

template<class ImplementationPolicy>
class HMCResourceManager< ImplementationPolicy >

Definition at line 39 of file HMCResourceManager.h.

Member Typedef Documentation

◆ CheckpointerBaseModule

template<class ImplementationPolicy>
typedef HMCModuleBase< BaseHmcCheckpointer<ImplementationPolicy> > HMCResourceManager< ImplementationPolicy >::CheckpointerBaseModule
private

Definition at line 40 of file HMCResourceManager.h.

◆ ObservableBaseModule

template<class ImplementationPolicy>
typedef HMCModuleBase< HmcObservable<typename ImplementationPolicy::Field> > HMCResourceManager< ImplementationPolicy >::ObservableBaseModule
private

Definition at line 41 of file HMCResourceManager.h.

◆ ActionBaseModule

template<class ImplementationPolicy>
typedef ActionModuleBase< Action<typename ImplementationPolicy::Field>, GridModule > HMCResourceManager< ImplementationPolicy >::ActionBaseModule
private

Definition at line 42 of file HMCResourceManager.h.

◆ MomentaField

template<class ImplementationPolicy>
typedef ImplementationPolicy::Field HMCResourceManager< ImplementationPolicy >::MomentaField
private

Definition at line 43 of file HMCResourceManager.h.

◆ Field

template<class ImplementationPolicy>
typedef ImplementationPolicy::Field HMCResourceManager< ImplementationPolicy >::Field
private

Definition at line 44 of file HMCResourceManager.h.

Constructor & Destructor Documentation

◆ HMCResourceManager()

template<class ImplementationPolicy>
HMCResourceManager< ImplementationPolicy >::HMCResourceManager ( )
inline

Definition at line 78 of file HMCResourceManager.h.

References have_CheckPointer, have_Filter, and have_RNG.

Member Function Documentation

◆ output_vector_string()

template<class ImplementationPolicy>
void HMCResourceManager< ImplementationPolicy >::output_vector_string ( const std::vector< std::string > & vs)
inlineprivate

Definition at line 70 of file HMCResourceManager.h.

Referenced by fill_ActionsLevel(), and initialize().

◆ initialize()

template<class ImplementationPolicy>
template<class ReaderClass, class vector_type = vComplex>
void HMCResourceManager< ImplementationPolicy >::initialize ( ReaderClass & Read)
inline

◆ GetActionSet()

template<class ImplementationPolicy>
template<class RepresentationPolicy>
void HMCResourceManager< ImplementationPolicy >::GetActionSet ( ActionSet< typename ImplementationPolicy::Field, RepresentationPolicy > & Aset)
inline

Definition at line 143 of file HMCResourceManager.h.

References ActionsList, Grids, and multipliers.

◆ AddGrid()

template<class ImplementationPolicy>
void HMCResourceManager< ImplementationPolicy >::AddGrid ( const std::string s,
GridModule & M )
inline

Definition at line 158 of file HMCResourceManager.h.

References GridLogError, GridLogMessage, and Grids.

Referenced by AddFourDimGrid(), AddFourDimGrid(), and initialize().

◆ AddFourDimGrid() [1/2]

template<class ImplementationPolicy>
void HMCResourceManager< ImplementationPolicy >::AddFourDimGrid ( const std::string s)
inline

Definition at line 175 of file HMCResourceManager.h.

References AddGrid().

◆ AddFourDimGrid() [2/2]

template<class ImplementationPolicy>
void HMCResourceManager< ImplementationPolicy >::AddFourDimGrid ( const std::string s,
const std::vector< int > simd_decomposition )
inline

Definition at line 181 of file HMCResourceManager.h.

References AddGrid().

◆ SetMomentumFilter()

template<class ImplementationPolicy>
void HMCResourceManager< ImplementationPolicy >::SetMomentumFilter ( MomentumFilterBase< typename ImplementationPolicy::Field > * MomFilter)
inline

Definition at line 186 of file HMCResourceManager.h.

References Filter, and have_Filter.

Referenced by GetMomentumFilter().

◆ GetMomentumFilter()

template<class ImplementationPolicy>
MomentumFilterBase< typename ImplementationPolicy::Field > * HMCResourceManager< ImplementationPolicy >::GetMomentumFilter ( void )
inline

Definition at line 191 of file HMCResourceManager.h.

References Filter, have_Filter, and SetMomentumFilter().

◆ GetCartesian()

template<class ImplementationPolicy>
GridCartesian * HMCResourceManager< ImplementationPolicy >::GetCartesian ( std::string s = "")
inline

Definition at line 197 of file HMCResourceManager.h.

References GridLogDebug, and Grids.

Referenced by AddRNGs().

◆ GetRBCartesian()

template<class ImplementationPolicy>
GridRedBlackCartesian * HMCResourceManager< ImplementationPolicy >::GetRBCartesian ( std::string s = "")
inline

Definition at line 204 of file HMCResourceManager.h.

References GridLogDebug, and Grids.

◆ haveRNGs()

template<class ImplementationPolicy>
bool HMCResourceManager< ImplementationPolicy >::haveRNGs ( ) const
inline

Definition at line 216 of file HMCResourceManager.h.

References have_RNG.

◆ AddRNGs()

template<class ImplementationPolicy>
void HMCResourceManager< ImplementationPolicy >::AddRNGs ( std::string s = "")
inline

Definition at line 218 of file HMCResourceManager.h.

References GetCartesian(), GridLogDebug, Grids, have_RNG, and RNGs.

◆ SetRNGSeeds()

template<class ImplementationPolicy>
void HMCResourceManager< ImplementationPolicy >::SetRNGSeeds ( RNGModuleParameters & Params)
inline

Definition at line 228 of file HMCResourceManager.h.

References RNGs.

Referenced by initialize().

◆ GetSerialRNG()

template<class ImplementationPolicy>
GridSerialRNG & HMCResourceManager< ImplementationPolicy >::GetSerialRNG ( )
inline

Definition at line 230 of file HMCResourceManager.h.

References RNGs.

◆ GetParallelRNG()

template<class ImplementationPolicy>
GridParallelRNG & HMCResourceManager< ImplementationPolicy >::GetParallelRNG ( )
inline

Definition at line 232 of file HMCResourceManager.h.

References have_RNG, and RNGs.

◆ SeedFixedIntegers()

template<class ImplementationPolicy>
void HMCResourceManager< ImplementationPolicy >::SeedFixedIntegers ( )
inline

Definition at line 237 of file HMCResourceManager.h.

References have_RNG, and RNGs.

◆ GetCheckPointer()

template<class ImplementationPolicy>
BaseHmcCheckpointer< ImplementationPolicy > * HMCResourceManager< ImplementationPolicy >::GetCheckPointer ( )
inline

Definition at line 246 of file HMCResourceManager.h.

References CP, GridLogError, and have_CheckPointer.

Referenced by GetObservables().

◆ LoadCheckpointer() [1/2]

template<class ImplementationPolicy>
template<template< class CPImplementationPolicy > class CheckpointModule>
void HMCResourceManager< ImplementationPolicy >::LoadCheckpointer ( const CheckpointerParameters & Params_)
inline

Definition at line 271 of file HMCResourceManager.h.

References CP, GridLogDebug, GridLogError, and have_CheckPointer.

Referenced by LoadBinaryCheckpointer(), and LoadNerscCheckpointer().

◆ LoadCheckpointer() [2/2]

template<class ImplementationPolicy>
template<template< class CPImplementationPolicy, class Metadata > class CheckpointModule, class Metadata>
void HMCResourceManager< ImplementationPolicy >::LoadCheckpointer ( const CheckpointerParameters & Params_,
const Metadata & M_ )
inline

Definition at line 288 of file HMCResourceManager.h.

References CP, GridLogDebug, GridLogError, and have_CheckPointer.

◆ LoadBinaryCheckpointer()

template<class ImplementationPolicy>
void HMCResourceManager< ImplementationPolicy >::LoadBinaryCheckpointer ( const CheckpointerParameters & Params_)
inline

Definition at line 301 of file HMCResourceManager.h.

References LoadCheckpointer().

◆ LoadNerscCheckpointer()

template<class ImplementationPolicy>
void HMCResourceManager< ImplementationPolicy >::LoadNerscCheckpointer ( const CheckpointerParameters & Params_)
inline

Definition at line 302 of file HMCResourceManager.h.

References LoadCheckpointer().

◆ AddObservable()

template<class ImplementationPolicy>
template<class T, class... Types>
void HMCResourceManager< ImplementationPolicy >::AddObservable ( Types &&... Args)
inline

Definition at line 319 of file HMCResourceManager.h.

References ObservablesList.

◆ GetObservables()

template<class ImplementationPolicy>
std::vector< HmcObservable< typename ImplementationPolicy::Field > * > HMCResourceManager< ImplementationPolicy >::GetObservables ( )
inline

Definition at line 324 of file HMCResourceManager.h.

References GetCheckPointer(), and ObservablesList.

◆ fill_ActionsLevel()

template<class ImplementationPolicy>
template<class ReaderClass>
void HMCResourceManager< ImplementationPolicy >::fill_ActionsLevel ( ReaderClass & Read)
inlineprivate

Field Documentation

◆ Grids

template<class ImplementationPolicy>
std::unordered_map<std::string, GridModule> HMCResourceManager< ImplementationPolicy >::Grids
private

Definition at line 47 of file HMCResourceManager.h.

Referenced by AddGrid(), AddRNGs(), GetActionSet(), GetCartesian(), and GetRBCartesian().

◆ RNGs

template<class ImplementationPolicy>
RNGModule HMCResourceManager< ImplementationPolicy >::RNGs
private

◆ CP

template<class ImplementationPolicy>
std::unique_ptr<CheckpointerBaseModule> HMCResourceManager< ImplementationPolicy >::CP
private

◆ Filter

template<class ImplementationPolicy>
std::unique_ptr<MomentumFilterBase<typename ImplementationPolicy::Field> > HMCResourceManager< ImplementationPolicy >::Filter
private

Definition at line 54 of file HMCResourceManager.h.

Referenced by GetMomentumFilter(), and SetMomentumFilter().

◆ ObservablesList

template<class ImplementationPolicy>
std::vector<std::unique_ptr<ObservableBaseModule> > HMCResourceManager< ImplementationPolicy >::ObservablesList
private

Definition at line 57 of file HMCResourceManager.h.

Referenced by AddObservable(), GetObservables(), and initialize().

◆ ActionsList

template<class ImplementationPolicy>
std::multimap<int, std::unique_ptr<ActionBaseModule> > HMCResourceManager< ImplementationPolicy >::ActionsList
private

Definition at line 61 of file HMCResourceManager.h.

Referenced by fill_ActionsLevel(), and GetActionSet().

◆ multipliers

template<class ImplementationPolicy>
std::vector<int> HMCResourceManager< ImplementationPolicy >::multipliers
private

Definition at line 62 of file HMCResourceManager.h.

Referenced by fill_ActionsLevel(), and GetActionSet().

◆ have_RNG

template<class ImplementationPolicy>
bool HMCResourceManager< ImplementationPolicy >::have_RNG
private

◆ have_CheckPointer

template<class ImplementationPolicy>
bool HMCResourceManager< ImplementationPolicy >::have_CheckPointer
private

◆ have_Filter

template<class ImplementationPolicy>
bool HMCResourceManager< ImplementationPolicy >::have_Filter
private

Definition at line 66 of file HMCResourceManager.h.

Referenced by GetMomentumFilter(), HMCResourceManager(), and SetMomentumFilter().


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