votca 2025.1-dev
Loading...
Searching...
No Matches
votca::xtp::OpenMP_CUDA Class Reference

#include <openmp_cuda.h>

Collaboration diagram for votca::xtp::OpenMP_CUDA:

Classes

struct  CPU_data
class  DefaultReference

Public Member Functions

 OpenMP_CUDA ()
void setOperators (const std::vector< Eigen::MatrixXd > &tensor, const Eigen::MatrixXd &rightoperator)
void MultiplyRight (Eigen::MatrixXd &matrix, Index OpenmpThread)
void setOperators (const Eigen::MatrixXd &leftoperator, const Eigen::MatrixXd &rightoperator)
void MultiplyLeftRight (Eigen::MatrixXd &matrix, Index OpenmpThread)
void createTemporaries (Index rows, Index cols)
void PushMatrix (const Eigen::MatrixXd &mat, Index OpenmpThread)
void A_TDA (const Eigen::VectorXd &vec, Index OpenmpThread)
void createTemporaries (const Eigen::VectorXd &vec, const Eigen::MatrixXd &input, Index rows1, Index rows2, Index cols)
void PrepareMatrix1 (Eigen::MatrixXd &mat, Index OpenmpThread)
void SetTempZero (Index OpenmpThread)
void PrepareMatrix2 (const Eigen::Block< const Eigen::MatrixXd > &mat, bool Hd2, Index OpenmpThread)
void Addvec (const Eigen::VectorXd &row, Index OpenmpThread)
void MultiplyRow (Index row, Index OpenmpThread)
void createAdditionalTemporaries (Index rows, Index cols)
void PushMatrix1 (const Eigen::MatrixXd &mat, Index OpenmpThread)
void MultiplyBlocks (const Eigen::Block< const Eigen::MatrixXd > &mat, Index i1, Index i2, Index OpenmpThread)
Eigen::MatrixXd getReductionVar ()

Static Public Member Functions

static Index UsingGPUs ()
static Index AvailableGPUs ()
static void SetNoGPUs (Index number)

Private Member Functions

Index getParentThreadId (Index OpenmpThreadId) const
Index getLocalThreadId (Index ParentThreadId) const
Index getNumberThreads () const

Private Attributes

DefaultReference< const Eigen::MatrixXd > rOP_
DefaultReference< const Eigen::MatrixXd > lOP_
DefaultReference< const Eigen::VectorXd > vec_
std::vector< CPU_datacpus_
bool inside_Parallel_region_
Index threadID_parent_

Static Private Attributes

static Index number_of_gpus = 0

Detailed Description

Definition at line 71 of file openmp_cuda.h.

Constructor & Destructor Documentation

◆ OpenMP_CUDA()

votca::xtp::OpenMP_CUDA::OpenMP_CUDA ( )

Definition at line 48 of file openmp_cuda.cc.

Member Function Documentation

◆ A_TDA()

void votca::xtp::OpenMP_CUDA::A_TDA ( const Eigen::VectorXd & vec,
Index OpenmpThread )

Definition at line 235 of file openmp_cuda.cc.

◆ Addvec()

void votca::xtp::OpenMP_CUDA::Addvec ( const Eigen::VectorXd & row,
Index OpenmpThread )

Definition at line 371 of file openmp_cuda.cc.

◆ AvailableGPUs()

Index votca::xtp::OpenMP_CUDA::AvailableGPUs ( )
static

Definition at line 32 of file openmp_cuda.cc.

◆ createAdditionalTemporaries()

void votca::xtp::OpenMP_CUDA::createAdditionalTemporaries ( Index rows,
Index cols )

Definition at line 422 of file openmp_cuda.cc.

◆ createTemporaries() [1/2]

void votca::xtp::OpenMP_CUDA::createTemporaries ( const Eigen::VectorXd & vec,
const Eigen::MatrixXd & input,
Index rows1,
Index rows2,
Index cols )

Definition at line 285 of file openmp_cuda.cc.

◆ createTemporaries() [2/2]

void votca::xtp::OpenMP_CUDA::createTemporaries ( Index rows,
Index cols )

Definition at line 212 of file openmp_cuda.cc.

◆ getLocalThreadId()

Index votca::xtp::OpenMP_CUDA::getLocalThreadId ( Index ParentThreadId) const
private

Definition at line 109 of file openmp_cuda.cc.

◆ getNumberThreads()

Index votca::xtp::OpenMP_CUDA::getNumberThreads ( ) const
private

Definition at line 112 of file openmp_cuda.cc.

◆ getParentThreadId()

Index votca::xtp::OpenMP_CUDA::getParentThreadId ( Index OpenmpThreadId) const
private

Definition at line 106 of file openmp_cuda.cc.

◆ getReductionVar()

Eigen::MatrixXd votca::xtp::OpenMP_CUDA::getReductionVar ( )

Definition at line 480 of file openmp_cuda.cc.

◆ MultiplyBlocks()

void votca::xtp::OpenMP_CUDA::MultiplyBlocks ( const Eigen::Block< const Eigen::MatrixXd > & mat,
Index i1,
Index i2,
Index OpenmpThread )

Definition at line 442 of file openmp_cuda.cc.

◆ MultiplyLeftRight()

void votca::xtp::OpenMP_CUDA::MultiplyLeftRight ( Eigen::MatrixXd & matrix,
Index OpenmpThread )

Definition at line 189 of file openmp_cuda.cc.

◆ MultiplyRight()

void votca::xtp::OpenMP_CUDA::MultiplyRight ( Eigen::MatrixXd & matrix,
Index OpenmpThread )

Definition at line 147 of file openmp_cuda.cc.

◆ MultiplyRow()

void votca::xtp::OpenMP_CUDA::MultiplyRow ( Index row,
Index OpenmpThread )

Definition at line 388 of file openmp_cuda.cc.

◆ PrepareMatrix1()

void votca::xtp::OpenMP_CUDA::PrepareMatrix1 ( Eigen::MatrixXd & mat,
Index OpenmpThread )

Definition at line 299 of file openmp_cuda.cc.

◆ PrepareMatrix2()

void votca::xtp::OpenMP_CUDA::PrepareMatrix2 ( const Eigen::Block< const Eigen::MatrixXd > & mat,
bool Hd2,
Index OpenmpThread )

Definition at line 334 of file openmp_cuda.cc.

◆ PushMatrix()

void votca::xtp::OpenMP_CUDA::PushMatrix ( const Eigen::MatrixXd & mat,
Index OpenmpThread )

Definition at line 218 of file openmp_cuda.cc.

◆ PushMatrix1()

void votca::xtp::OpenMP_CUDA::PushMatrix1 ( const Eigen::MatrixXd & mat,
Index OpenmpThread )

Definition at line 425 of file openmp_cuda.cc.

◆ SetNoGPUs()

void votca::xtp::OpenMP_CUDA::SetNoGPUs ( Index number)
static

Definition at line 40 of file openmp_cuda.cc.

◆ setOperators() [1/2]

void votca::xtp::OpenMP_CUDA::setOperators ( const Eigen::MatrixXd & leftoperator,
const Eigen::MatrixXd & rightoperator )

Definition at line 152 of file openmp_cuda.cc.

◆ setOperators() [2/2]

void votca::xtp::OpenMP_CUDA::setOperators ( const std::vector< Eigen::MatrixXd > & tensor,
const Eigen::MatrixXd & rightoperator )

Definition at line 89 of file openmp_cuda.cc.

◆ SetTempZero()

void votca::xtp::OpenMP_CUDA::SetTempZero ( Index OpenmpThread)

Definition at line 318 of file openmp_cuda.cc.

◆ UsingGPUs()

Index votca::xtp::OpenMP_CUDA::UsingGPUs ( )
static

Definition at line 30 of file openmp_cuda.cc.

Member Data Documentation

◆ cpus_

std::vector<CPU_data> votca::xtp::OpenMP_CUDA::cpus_
private

Definition at line 152 of file openmp_cuda.h.

◆ inside_Parallel_region_

bool votca::xtp::OpenMP_CUDA::inside_Parallel_region_
private

Definition at line 154 of file openmp_cuda.h.

◆ lOP_

DefaultReference<const Eigen::MatrixXd> votca::xtp::OpenMP_CUDA::lOP_
private

Definition at line 134 of file openmp_cuda.h.

◆ number_of_gpus

Index votca::xtp::OpenMP_CUDA::number_of_gpus = 0
staticprivate

Definition at line 157 of file openmp_cuda.h.

◆ rOP_

DefaultReference<const Eigen::MatrixXd> votca::xtp::OpenMP_CUDA::rOP_
private

Definition at line 133 of file openmp_cuda.h.

◆ threadID_parent_

Index votca::xtp::OpenMP_CUDA::threadID_parent_
private

Definition at line 155 of file openmp_cuda.h.

◆ vec_

DefaultReference<const Eigen::VectorXd> votca::xtp::OpenMP_CUDA::vec_
private

Definition at line 135 of file openmp_cuda.h.


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