DFT-EFE
 
Loading...
Searching...
No Matches
dftefe::linearAlgebra::LinAlgOpContext< memorySpace > Class Template Reference

#include <LinAlgOpContext.h>

Public Member Functions

 LinAlgOpContext (size_type numBlasStreams=0)
 
 ~LinAlgOpContext ()=default
 
void setTensorOpDataType (TensorOpDataType opType)
 
TensorOpDataType getTensorOpDataType ()
 
size_type numBlasStreams () const
 

Static Public Member Functions

static utils::deviceBlasStatus_t setBlasStream (utils::deviceStream_t &streamId)
 
static utils::deviceStream_tgetBlasStream ()
 
static utils::deviceBlasHandle_tgetDeviceBlasHandle ()
 
static utils::deviceStream_tgetBlasStreamsVec ()
 
static utils::deviceBlasHandle_tgetDeviceBlasHandlesVec ()
 

Private Member Functions

utils::deviceBlasStatus_t create (utils::deviceBlasHandle_t &handleId)
 
utils::deviceBlasStatus_t destroy (utils::deviceBlasHandle_t &handleId)
 

Static Private Member Functions

static utils::deviceBlasStatus_t setBlasStream (utils::deviceBlasHandle_t &handleId, utils::deviceStream_t &streamId)
 

Private Attributes

size_type d_numBlasStreams
 
TensorOpDataType d_opType
 storage for deviceblas handle More...
 

Static Private Attributes

static std::vector< utils::deviceBlasHandle_td_deviceBlasHandles
 
static std::vector< utils::deviceStream_td_streams
 
static utils::deviceBlasHandle_t d_deviceBlasHandle
 
static utils::deviceStream_t d_stream
 

Constructor & Destructor Documentation

◆ LinAlgOpContext()

template<utils::MemorySpace memorySpace>
dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::LinAlgOpContext ( size_type  numBlasStreams = 0)
Here is the call graph for this function:

◆ ~LinAlgOpContext()

template<utils::MemorySpace memorySpace>
dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::~LinAlgOpContext ( )
default

Member Function Documentation

◆ create()

template<utils::MemorySpace memorySpace>
utils::deviceBlasStatus_t dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::create ( utils::deviceBlasHandle_t handleId)
private
Here is the caller graph for this function:

◆ destroy()

template<utils::MemorySpace memorySpace>
utils::deviceBlasStatus_t dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::destroy ( utils::deviceBlasHandle_t handleId)
private

◆ getBlasStream()

template<utils::MemorySpace memorySpace>
static utils::deviceStream_t & dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::getBlasStream ( )
inlinestatic

◆ getBlasStreamsVec()

template<utils::MemorySpace memorySpace>
static utils::deviceStream_t * dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::getBlasStreamsVec ( )
inlinestatic
Here is the caller graph for this function:

◆ getDeviceBlasHandle()

template<utils::MemorySpace memorySpace>
static utils::deviceBlasHandle_t & dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::getDeviceBlasHandle ( )
inlinestatic

◆ getDeviceBlasHandlesVec()

template<utils::MemorySpace memorySpace>
static utils::deviceBlasHandle_t * dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::getDeviceBlasHandlesVec ( )
inlinestatic

◆ getTensorOpDataType()

template<utils::MemorySpace memorySpace>
TensorOpDataType dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::getTensorOpDataType ( )
inline

◆ numBlasStreams()

template<utils::MemorySpace memorySpace>
size_type dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::numBlasStreams ( ) const
inline
Here is the caller graph for this function:

◆ setBlasStream() [1/2]

template<utils::MemorySpace memorySpace>
utils::deviceBlasStatus_t dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::setBlasStream ( utils::deviceBlasHandle_t handleId,
utils::deviceStream_t streamId 
)
staticprivate

◆ setBlasStream() [2/2]

template<utils::MemorySpace memorySpace>
utils::deviceBlasStatus_t dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::setBlasStream ( utils::deviceStream_t streamId)
static
Here is the caller graph for this function:

◆ setTensorOpDataType()

template<utils::MemorySpace memorySpace>
void dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::setTensorOpDataType ( TensorOpDataType  opType)
inline

Member Data Documentation

◆ d_deviceBlasHandle

template<utils::MemorySpace memorySpace>
utils::deviceBlasHandle_t dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::d_deviceBlasHandle
inlinestaticprivate

◆ d_deviceBlasHandles

template<utils::MemorySpace memorySpace>
std::vector<utils::deviceBlasHandle_t> dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::d_deviceBlasHandles
inlinestaticprivate

◆ d_numBlasStreams

template<utils::MemorySpace memorySpace>
size_type dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::d_numBlasStreams
private

◆ d_opType

template<utils::MemorySpace memorySpace>
TensorOpDataType dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::d_opType
private

storage for deviceblas handle

◆ d_stream

template<utils::MemorySpace memorySpace>
utils::deviceStream_t dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::d_stream
inlinestaticprivate

◆ d_streams

template<utils::MemorySpace memorySpace>
std::vector<utils::deviceStream_t> dftefe::linearAlgebra::LinAlgOpContext< memorySpace >::d_streams
inlinestaticprivate

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