votca 2024.2-dev
Loading...
Searching...
No Matches
votca::xtp::CudaPipeline Class Reference

#include <cudapipeline.h>

Public Member Functions

 CudaPipeline (int deviceID)
 
 ~CudaPipeline ()
 
 CudaPipeline ()=delete
 
 CudaPipeline (const CudaPipeline &)=delete
 
CudaPipelineoperator= (const CudaPipeline &)=delete
 
template<class M >
void diag_gemm (const M &A, const CudaMatrix &b, CudaMatrix &C) const
 
void axpy (const CudaMatrix &A, CudaMatrix &B, double alpha=1.0) const
 
template<class M1 , class M2 , class M3 >
void gemm (M1 &&A, M2 &&B, M3 &&C, double beta=0.0) const
 
const cudaStream_t & get_stream () const
 
int getDeviceId () const
 

Private Attributes

int deviceID_ = 0
 
cublasHandle_t handle_
 
cudaStream_t stream_
 

Detailed Description

Definition at line 48 of file cudapipeline.h.

Constructor & Destructor Documentation

◆ CudaPipeline() [1/3]

votca::xtp::CudaPipeline::CudaPipeline ( int deviceID)
inline

Definition at line 50 of file cudapipeline.h.

◆ ~CudaPipeline()

votca::xtp::CudaPipeline::~CudaPipeline ( )

Definition at line 28 of file cudapipeline.cc.

◆ CudaPipeline() [2/3]

votca::xtp::CudaPipeline::CudaPipeline ( )
delete

◆ CudaPipeline() [3/3]

votca::xtp::CudaPipeline::CudaPipeline ( const CudaPipeline & )
delete

Member Function Documentation

◆ axpy()

void votca::xtp::CudaPipeline::axpy ( const CudaMatrix & A,
CudaMatrix & B,
double alpha = 1.0 ) const

Definition at line 36 of file cudapipeline.cc.

◆ diag_gemm()

template<class M >
void votca::xtp::CudaPipeline::diag_gemm ( const M & A,
const CudaMatrix & b,
CudaMatrix & C ) const
inline

Definition at line 133 of file cudapipeline.h.

◆ gemm()

template<class M1 , class M2 , class M3 >
void votca::xtp::CudaPipeline::gemm ( M1 && A,
M2 && B,
M3 && C,
double beta = 0.0 ) const
inline

Definition at line 90 of file cudapipeline.h.

◆ get_stream()

const cudaStream_t & votca::xtp::CudaPipeline::get_stream ( ) const
inline

Definition at line 71 of file cudapipeline.h.

◆ getDeviceId()

int votca::xtp::CudaPipeline::getDeviceId ( ) const
inline

Definition at line 73 of file cudapipeline.h.

◆ operator=()

CudaPipeline & votca::xtp::CudaPipeline::operator= ( const CudaPipeline & )
delete

Member Data Documentation

◆ deviceID_

int votca::xtp::CudaPipeline::deviceID_ = 0
private

Definition at line 76 of file cudapipeline.h.

◆ handle_

cublasHandle_t votca::xtp::CudaPipeline::handle_
private

Definition at line 78 of file cudapipeline.h.

◆ stream_

cudaStream_t votca::xtp::CudaPipeline::stream_
private

Definition at line 82 of file cudapipeline.h.


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