XGCa
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
ScratchLock Class Reference

#include <scratch.hpp>

Collaboration diagram for ScratchLock:
Collaboration graph
[legend]

Public Types

enum  Layout { KokkosDefaultLayout = true }
 

Public Member Functions

template<typename Device >
View< double *, CLayout, Device > get_view (const std::string &label, int dim1)
 
template<typename Device >
View< double **, CLayout, Device > get_view (const std::string &label, int dim1, int dim2)
 
template<typename Device >
View< double ***, CLayout, Device > get_view (const std::string &label, int dim1, int dim2, int dim3)
 
template<typename Device >
View< double ****, CLayout, Device > get_view (const std::string &label, int dim1, int dim2, int dim3, int dim4)
 
template<typename Device >
View< double *****, CLayout, Device > get_view (const std::string &label, int dim1, int dim2, int dim3, int dim4, int dim5)
 
template<typename Device >
View< double ******, CLayout, Device > get_view (const std::string &label, int dim1, int dim2, int dim3, int dim4, int dim5, int dim6)
 
template<typename Device >
View< double *, Device > get_view (const std::string &label, int dim1, Layout kdl_true)
 
template<typename Device >
View< double **, Device > get_view (const std::string &label, int dim1, int dim2, Layout kdl_true)
 
template<typename Device >
View< double ***, Device > get_view (const std::string &label, int dim1, int dim2, int dim3, Layout kdl_true)
 
template<typename Device >
View< double ****, Device > get_view (const std::string &label, int dim1, int dim2, int dim3, int dim4, Layout kdl_true)
 
template<typename Device >
View< double *****, Device > get_view (const std::string &label, int dim1, int dim2, int dim3, int dim4, int dim5, Layout kdl_true)
 
template<typename Device >
View< double ******, Device > get_view (const std::string &label, int dim1, int dim2, int dim3, int dim4, int dim5, int dim6, Layout kdl_true)
 
 ScratchLock (Scratch *scratch)
 
KOKKOS_INLINE_FUNCTION ScratchLock ()
 
KOKKOS_INLINE_FUNCTION ~ScratchLock ()
 
KOKKOS_INLINE_FUNCTION ScratchLock (const ScratchLock &other)
 
ScratchLockoperator= (const ScratchLock &other)
 

Private Member Functions

template<typename Device >
double * get_ptr (size_t view_size)
 

Private Attributes

Scratchscratch_
 
size_t allocation_size_
 
size_t allocation_offset_
 
bool is_device_
 
bool used_scratch_
 
bool is_used_
 

Member Enumeration Documentation

◆ Layout

Enumerator
KokkosDefaultLayout 

Constructor & Destructor Documentation

◆ ScratchLock() [1/3]

ScratchLock::ScratchLock ( Scratch scratch)
inline

◆ ScratchLock() [2/3]

KOKKOS_INLINE_FUNCTION ScratchLock::ScratchLock ( )
inline

◆ ~ScratchLock()

KOKKOS_INLINE_FUNCTION ScratchLock::~ScratchLock ( )
inline
Here is the call graph for this function:

◆ ScratchLock() [3/3]

KOKKOS_INLINE_FUNCTION ScratchLock::ScratchLock ( const ScratchLock other)
inline

Member Function Documentation

◆ get_ptr()

template<typename Device >
double * ScratchLock::get_ptr ( size_t  view_size)
private

◆ get_view() [1/12]

template<typename Device >
template View< double *, CLayout, DeviceType > ScratchLock::get_view< DeviceType > ( const std::string &  label,
int  dim1 
)

◆ get_view() [2/12]

template<typename Device >
template View< double **, CLayout, DeviceType > ScratchLock::get_view< DeviceType > ( const std::string &  label,
int  dim1,
int  dim2 
)

◆ get_view() [3/12]

template<typename Device >
template View< double ***, CLayout, DeviceType > ScratchLock::get_view< DeviceType > ( const std::string &  label,
int  dim1,
int  dim2,
int  dim3 
)

◆ get_view() [4/12]

template<typename Device >
template View< double ****, CLayout, DeviceType > ScratchLock::get_view< DeviceType > ( const std::string &  label,
int  dim1,
int  dim2,
int  dim3,
int  dim4 
)

◆ get_view() [5/12]

template<typename Device >
template View< double *****, CLayout, DeviceType > ScratchLock::get_view< DeviceType > ( const std::string &  label,
int  dim1,
int  dim2,
int  dim3,
int  dim4,
int  dim5 
)

◆ get_view() [6/12]

template<typename Device >
template View< double ******, CLayout, DeviceType > ScratchLock::get_view< DeviceType > ( const std::string &  label,
int  dim1,
int  dim2,
int  dim3,
int  dim4,
int  dim5,
int  dim6 
)

◆ get_view() [7/12]

template<typename Device >
template View< double ******, DeviceType > ScratchLock::get_view< DeviceType > ( const std::string &  label,
int  dim1,
int  dim2,
int  dim3,
int  dim4,
int  dim5,
int  dim6,
Layout  kdl_true 
)

◆ get_view() [8/12]

template<typename Device >
template View< double *****, DeviceType > ScratchLock::get_view< DeviceType > ( const std::string &  label,
int  dim1,
int  dim2,
int  dim3,
int  dim4,
int  dim5,
Layout  kdl_true 
)

◆ get_view() [9/12]

template<typename Device >
template View< double ****, DeviceType > ScratchLock::get_view< DeviceType > ( const std::string &  label,
int  dim1,
int  dim2,
int  dim3,
int  dim4,
Layout  kdl_true 
)

◆ get_view() [10/12]

template<typename Device >
template View< double ***, DeviceType > ScratchLock::get_view< DeviceType > ( const std::string &  label,
int  dim1,
int  dim2,
int  dim3,
Layout  kdl_true 
)

◆ get_view() [11/12]

template<typename Device >
template View< double **, DeviceType > ScratchLock::get_view< DeviceType > ( const std::string &  label,
int  dim1,
int  dim2,
Layout  kdl_true 
)

◆ get_view() [12/12]

template<typename Device >
template View< double *, DeviceType > ScratchLock::get_view< DeviceType > ( const std::string &  label,
int  dim1,
Layout  kdl_true 
)

◆ operator=()

ScratchLock& ScratchLock::operator= ( const ScratchLock other)
inline

Member Data Documentation

◆ allocation_offset_

size_t ScratchLock::allocation_offset_
private

◆ allocation_size_

size_t ScratchLock::allocation_size_
private

◆ is_device_

bool ScratchLock::is_device_
private

◆ is_used_

bool ScratchLock::is_used_
private

◆ scratch_

Scratch* ScratchLock::scratch_
private

◆ used_scratch_

bool ScratchLock::used_scratch_
private

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