SIRIUS 7.5.0
Electronic structure library and applications
Namespaces | Typedefs | Functions | Variables
acc_blas_api.hpp File Reference

Interface to cuBLAS / rocblas related functions. More...

Go to the source code of this file.

Namespaces

module  sirius
 Namespace of the SIRIUS library.
 
namespace  sirius::acc
 Namespace for accelerator-related functions.
 
namespace  sirius::acc::blas_api
 Internal interface to accelerated BLAS functions (CUDA or ROCM).
 

Typedefs

using sirius::acc::blas_api::handle_t = cublasHandle_t
 
using sirius::acc::blas_api::status_t = cublasStatus_t
 
using sirius::acc::blas_api::operation_t = cublasOperation_t
 
using sirius::acc::blas_api::side_mode_t = cublasSideMode_t
 
using sirius::acc::blas_api::diagonal_t = cublasDiagType_t
 
using sirius::acc::blas_api::fill_mode_t = cublasFillMode_t
 
using sirius::acc::blas_api::complex_float_t = cuComplex
 
using sirius::acc::blas_api::complex_double_t = cuDoubleComplex
 

Functions

template<typename... ARGS>
auto sirius::acc::blas_api::create (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::destroy (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::set_stream (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::get_stream (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::sgemm (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::dgemm (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::cgemm (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::zgemm (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::dgemv (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::zgemv (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::strmm (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::dtrmm (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::ctrmm (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::ztrmm (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::sger (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::dger (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::cgeru (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::zgeru (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::zaxpy (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::dscal (ARGS &&... args) -> status_t
 
template<typename... ARGS>
auto sirius::acc::blas_api::sscal (ARGS &&... args) -> status_t
 

Variables

constexpr auto sirius::acc::blas_api::operation::None = CUBLAS_OP_N
 
constexpr auto sirius::acc::blas_api::operation::Transpose = CUBLAS_OP_T
 
constexpr auto sirius::acc::blas_api::operation::ConjugateTranspose = CUBLAS_OP_C
 
constexpr auto sirius::acc::blas_api::side::Left = CUBLAS_SIDE_LEFT
 
constexpr auto sirius::acc::blas_api::side::Right = CUBLAS_SIDE_RIGHT
 
constexpr auto sirius::acc::blas_api::diagonal::NonUnit = CUBLAS_DIAG_NON_UNIT
 
constexpr auto sirius::acc::blas_api::diagonal::Unit = CUBLAS_DIAG_UNIT
 
constexpr auto sirius::acc::blas_api::fill::Upper = CUBLAS_FILL_MODE_UPPER
 
constexpr auto sirius::acc::blas_api::fill::Lower = CUBLAS_FILL_MODE_LOWER
 
constexpr auto sirius::acc::blas_api::status::Success = CUBLAS_STATUS_SUCCESS
 

Detailed Description

Interface to cuBLAS / rocblas related functions.

Definition in file acc_blas_api.hpp.

Variable Documentation

◆ None

constexpr auto sirius::acc::blas_api::operation::None = CUBLAS_OP_N
constexpr

Definition at line 70 of file acc_blas_api.hpp.

◆ Transpose

constexpr auto sirius::acc::blas_api::operation::Transpose = CUBLAS_OP_T
constexpr

Definition at line 71 of file acc_blas_api.hpp.

◆ ConjugateTranspose

constexpr auto sirius::acc::blas_api::operation::ConjugateTranspose = CUBLAS_OP_C
constexpr

Definition at line 72 of file acc_blas_api.hpp.

◆ Left

constexpr auto sirius::acc::blas_api::side::Left = CUBLAS_SIDE_LEFT
constexpr

Definition at line 84 of file acc_blas_api.hpp.

◆ Right

constexpr auto sirius::acc::blas_api::side::Right = CUBLAS_SIDE_RIGHT
constexpr

Definition at line 85 of file acc_blas_api.hpp.

◆ NonUnit

constexpr auto sirius::acc::blas_api::diagonal::NonUnit = CUBLAS_DIAG_NON_UNIT
constexpr

Definition at line 96 of file acc_blas_api.hpp.

◆ Unit

constexpr auto sirius::acc::blas_api::diagonal::Unit = CUBLAS_DIAG_UNIT
constexpr

Definition at line 97 of file acc_blas_api.hpp.

◆ Upper

constexpr auto sirius::acc::blas_api::fill::Upper = CUBLAS_FILL_MODE_UPPER
constexpr

Definition at line 108 of file acc_blas_api.hpp.

◆ Lower

constexpr auto sirius::acc::blas_api::fill::Lower = CUBLAS_FILL_MODE_LOWER
constexpr

Definition at line 109 of file acc_blas_api.hpp.

◆ Success

constexpr auto sirius::acc::blas_api::status::Success = CUBLAS_STATUS_SUCCESS
constexpr

Definition at line 120 of file acc_blas_api.hpp.