SIRIUS 7.5.0
Electronic structure library and applications
Namespaces | Functions
sirius::acc::blas Namespace Reference

User facing interface to GPU blas functions. More...

Namespaces

namespace  xt
 Interface to cuBlasXt functions.
 

Functions

acc::blas_api::handle_t & null_stream_handle ()
 Store the default (null) stream handler. More...
 
std::vector< acc::blas_api::handle_t > & stream_handles ()
 Store the gpublas handlers associated with acc streams. More...
 
const char * error_message (acc::blas_api::status_t status)
 
acc::blas_api::operation_t get_gpublasOperation_t (char c)
 
acc::blas_api::side_mode_t get_gpublasSideMode_t (char c)
 
acc::blas_api::fill_mode_t get_gpublasFillMode_t (char c)
 
acc::blas_api::diagonal_t get_gpublasDiagonal_t (char c)
 
void create_stream_handles ()
 
void destroy_stream_handles ()
 
acc::blas_api::handle_t stream_handle (int id__)
 
void zgemv (char transa, int32_t m, int32_t n, acc_complex_double_t *alpha, acc_complex_double_t *a, int32_t lda, acc_complex_double_t *x, int32_t incx, acc_complex_double_t *beta, acc_complex_double_t *y, int32_t incy, int stream_id)
 
void cgemm (char transa, char transb, int32_t m, int32_t n, int32_t k, acc_complex_float_t const *alpha, acc_complex_float_t const *a, int32_t lda, acc_complex_float_t const *b, int32_t ldb, acc_complex_float_t const *beta, acc_complex_float_t *c, int32_t ldc, int stream_id)
 
void zgemm (char transa, char transb, int32_t m, int32_t n, int32_t k, acc_complex_double_t const *alpha, acc_complex_double_t const *a, int32_t lda, acc_complex_double_t const *b, int32_t ldb, acc_complex_double_t const *beta, acc_complex_double_t *c, int32_t ldc, int stream_id)
 
void sgemm (char transa, char transb, int32_t m, int32_t n, int32_t k, float const *alpha, float const *a, int32_t lda, float const *b, int32_t ldb, float const *beta, float *c, int32_t ldc, int stream_id)
 
void dgemm (char transa, char transb, int32_t m, int32_t n, int32_t k, double const *alpha, double const *a, int32_t lda, double const *b, int32_t ldb, double const *beta, double *c, int32_t ldc, int stream_id)
 
void strmm (char side__, char uplo__, char transa__, char diag__, int m__, int n__, float const *alpha__, float const *A__, int lda__, float *B__, int ldb__, int stream_id)
 
void dtrmm (char side__, char uplo__, char transa__, char diag__, int m__, int n__, double const *alpha__, double const *A__, int lda__, double *B__, int ldb__, int stream_id)
 
void ctrmm (char side__, char uplo__, char transa__, char diag__, int m__, int n__, acc_complex_float_t const *alpha__, acc_complex_float_t const *A__, int lda__, acc_complex_float_t *B__, int ldb__, int stream_id)
 
void ztrmm (char side__, char uplo__, char transa__, char diag__, int m__, int n__, acc_complex_double_t const *alpha__, acc_complex_double_t const *A__, int lda__, acc_complex_double_t *B__, int ldb__, int stream_id)
 
void sger (int m, int n, float const *alpha, float const *x, int incx, float const *y, int incy, float *A, int lda, int stream_id)
 
void dger (int m, int n, double const *alpha, double const *x, int incx, double const *y, int incy, double *A, int lda, int stream_id)
 
void cgeru (int m, int n, acc_complex_float_t const *alpha, acc_complex_float_t const *x, int incx, acc_complex_float_t const *y, int incy, acc_complex_float_t *A, int lda, int stream_id)
 
void zgeru (int m, int n, acc_complex_double_t const *alpha, acc_complex_double_t const *x, int incx, acc_complex_double_t const *y, int incy, acc_complex_double_t *A, int lda, int stream_id)
 
void zaxpy (int n__, acc_complex_double_t const *alpha__, acc_complex_double_t const *x__, int incx__, acc_complex_double_t *y__, int incy__)
 
void dscal (int n__, double const *alpha__, double *x__, int incx__)
 
void sscal (int n__, float const *alpha__, float *x__, int incx__)
 

Detailed Description

User facing interface to GPU blas functions.

Function Documentation

◆ null_stream_handle()

acc::blas_api::handle_t & sirius::acc::blas::null_stream_handle ( )

Store the default (null) stream handler.

Definition at line 11 of file acc_blas.cpp.

◆ stream_handles()

std::vector< acc::blas_api::handle_t > & sirius::acc::blas::stream_handles ( )

Store the gpublas handlers associated with acc streams.

Definition at line 18 of file acc_blas.cpp.

◆ error_message()

const char * sirius::acc::blas::error_message ( acc::blas_api::status_t  status)
inline

Definition at line 42 of file acc_blas.hpp.

◆ get_gpublasOperation_t()

acc::blas_api::operation_t sirius::acc::blas::get_gpublasOperation_t ( char  c)
inline

Definition at line 75 of file acc_blas.hpp.

◆ get_gpublasSideMode_t()

acc::blas_api::side_mode_t sirius::acc::blas::get_gpublasSideMode_t ( char  c)
inline

Definition at line 98 of file acc_blas.hpp.

◆ get_gpublasFillMode_t()

acc::blas_api::fill_mode_t sirius::acc::blas::get_gpublasFillMode_t ( char  c)
inline

Definition at line 117 of file acc_blas.hpp.

◆ get_gpublasDiagonal_t()

acc::blas_api::diagonal_t sirius::acc::blas::get_gpublasDiagonal_t ( char  c)
inline

Definition at line 136 of file acc_blas.hpp.

◆ create_stream_handles()

void sirius::acc::blas::create_stream_handles ( )
inline

Definition at line 174 of file acc_blas.hpp.

◆ destroy_stream_handles()

void sirius::acc::blas::destroy_stream_handles ( )
inline

Definition at line 188 of file acc_blas.hpp.

◆ stream_handle()

acc::blas_api::handle_t sirius::acc::blas::stream_handle ( int  id__)
inline

Definition at line 198 of file acc_blas.hpp.

◆ zgemv()

void sirius::acc::blas::zgemv ( char  transa,
int32_t  m,
int32_t  n,
acc_complex_double_t *  alpha,
acc_complex_double_t *  a,
int32_t  lda,
acc_complex_double_t *  x,
int32_t  incx,
acc_complex_double_t *  beta,
acc_complex_double_t *  y,
int32_t  incy,
int  stream_id 
)
inline

Definition at line 204 of file acc_blas.hpp.

◆ cgemm()

void sirius::acc::blas::cgemm ( char  transa,
char  transb,
int32_t  m,
int32_t  n,
int32_t  k,
acc_complex_float_t const *  alpha,
acc_complex_float_t const *  a,
int32_t  lda,
acc_complex_float_t const *  b,
int32_t  ldb,
acc_complex_float_t const *  beta,
acc_complex_float_t *  c,
int32_t  ldc,
int  stream_id 
)
inline

Definition at line 218 of file acc_blas.hpp.

◆ zgemm()

void sirius::acc::blas::zgemm ( char  transa,
char  transb,
int32_t  m,
int32_t  n,
int32_t  k,
acc_complex_double_t const *  alpha,
acc_complex_double_t const *  a,
int32_t  lda,
acc_complex_double_t const *  b,
int32_t  ldb,
acc_complex_double_t const *  beta,
acc_complex_double_t *  c,
int32_t  ldc,
int  stream_id 
)
inline

Definition at line 233 of file acc_blas.hpp.

◆ sgemm()

void sirius::acc::blas::sgemm ( char  transa,
char  transb,
int32_t  m,
int32_t  n,
int32_t  k,
float const *  alpha,
float const *  a,
int32_t  lda,
float const *  b,
int32_t  ldb,
float const *  beta,
float *  c,
int32_t  ldc,
int  stream_id 
)
inline

Definition at line 248 of file acc_blas.hpp.

◆ dgemm()

void sirius::acc::blas::dgemm ( char  transa,
char  transb,
int32_t  m,
int32_t  n,
int32_t  k,
double const *  alpha,
double const *  a,
int32_t  lda,
double const *  b,
int32_t  ldb,
double const *  beta,
double *  c,
int32_t  ldc,
int  stream_id 
)
inline

Definition at line 257 of file acc_blas.hpp.

◆ strmm()

void sirius::acc::blas::strmm ( char  side__,
char  uplo__,
char  transa__,
char  diag__,
int  m__,
int  n__,
float const *  alpha__,
float const *  A__,
int  lda__,
float *  B__,
int  ldb__,
int  stream_id 
)
inline

Definition at line 266 of file acc_blas.hpp.

◆ dtrmm()

void sirius::acc::blas::dtrmm ( char  side__,
char  uplo__,
char  transa__,
char  diag__,
int  m__,
int  n__,
double const *  alpha__,
double const *  A__,
int  lda__,
double *  B__,
int  ldb__,
int  stream_id 
)
inline

Definition at line 285 of file acc_blas.hpp.

◆ ctrmm()

void sirius::acc::blas::ctrmm ( char  side__,
char  uplo__,
char  transa__,
char  diag__,
int  m__,
int  n__,
acc_complex_float_t const *  alpha__,
acc_complex_float_t const *  A__,
int  lda__,
acc_complex_float_t *  B__,
int  ldb__,
int  stream_id 
)
inline

Definition at line 304 of file acc_blas.hpp.

◆ ztrmm()

void sirius::acc::blas::ztrmm ( char  side__,
char  uplo__,
char  transa__,
char  diag__,
int  m__,
int  n__,
acc_complex_double_t const *  alpha__,
acc_complex_double_t const *  A__,
int  lda__,
acc_complex_double_t *  B__,
int  ldb__,
int  stream_id 
)
inline

Definition at line 328 of file acc_blas.hpp.

◆ sger()

void sirius::acc::blas::sger ( int  m,
int  n,
float const *  alpha,
float const *  x,
int  incx,
float const *  y,
int  incy,
float *  A,
int  lda,
int  stream_id 
)
inline

Definition at line 352 of file acc_blas.hpp.

◆ dger()

void sirius::acc::blas::dger ( int  m,
int  n,
double const *  alpha,
double const *  x,
int  incx,
double const *  y,
int  incy,
double *  A,
int  lda,
int  stream_id 
)
inline

Definition at line 360 of file acc_blas.hpp.

◆ cgeru()

void sirius::acc::blas::cgeru ( int  m,
int  n,
acc_complex_float_t const *  alpha,
acc_complex_float_t const *  x,
int  incx,
acc_complex_float_t const *  y,
int  incy,
acc_complex_float_t *  A,
int  lda,
int  stream_id 
)
inline

Definition at line 368 of file acc_blas.hpp.

◆ zgeru()

void sirius::acc::blas::zgeru ( int  m,
int  n,
acc_complex_double_t const *  alpha,
acc_complex_double_t const *  x,
int  incx,
acc_complex_double_t const *  y,
int  incy,
acc_complex_double_t *  A,
int  lda,
int  stream_id 
)
inline

Definition at line 380 of file acc_blas.hpp.

◆ zaxpy()

void sirius::acc::blas::zaxpy ( int  n__,
acc_complex_double_t const *  alpha__,
acc_complex_double_t const *  x__,
int  incx__,
acc_complex_double_t *  y__,
int  incy__ 
)
inline

Definition at line 392 of file acc_blas.hpp.

◆ dscal()

void sirius::acc::blas::dscal ( int  n__,
double const *  alpha__,
double *  x__,
int  incx__ 
)
inline

Definition at line 403 of file acc_blas.hpp.

◆ sscal()

void sirius::acc::blas::sscal ( int  n__,
float const *  alpha__,
float *  x__,
int  incx__ 
)
inline

Definition at line 411 of file acc_blas.hpp.