QMCPACK
ompBLAS.hpp File Reference
+ Include dependency graph for ompBLAS.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 qmcplusplus
 helper functions for EinsplineSetBuilder
 
 qmcplusplus::ompBLAS
 Implement selected batched and non-batched BLAS2 calls using OpenMP offload for different data types S/C/D/Z 1) column major like the BLAS fortran API 2) all the functions are synchronous, expected to be changed to asynchronous in the future.
 

Typedefs

using ompBLAS_status = int
 
using ompBLAS_handle = int
 

Functions

template<typename T >
ompBLAS_status gemm (ompBLAS_handle &handle, const char transa, const char transb, const int M, const int N, const int K, const T &alpha, const T *const A, const int lda, const T *const B, const int ldb, const T &beta, T *const C, const int ldc)
 
template<typename T >
ompBLAS_status gemm_batched (ompBLAS_handle &handle, const char transa, const char transb, const int M, const int N, const int K, const T &alpha, const T *const A[], const int lda, const T *const B[], const int ldb, const T &beta, T *const C[], const int ldc, const int batch_count)
 
template<typename T >
ompBLAS_status gemv (ompBLAS_handle &handle, const char trans, const int m, const int n, const T alpha, const T *const A, const int lda, const T *const x, const int incx, const T beta, T *const y, const int incy)
 
template<typename T >
ompBLAS_status gemv_batched (ompBLAS_handle &handle, const char trans, const int m, const int n, const T *alpha, const T *const A[], const int lda, const T *const x[], const int incx, const T *beta, T *const y[], const int incy, const int batch_count)
 
template<typename T >
ompBLAS_status ger (ompBLAS_handle &handle, const int m, const int n, const T alpha, const T *const x, const int incx, const T *const y, const int incy, T *const A, const int lda)
 
template<typename T >
ompBLAS_status ger_batched (ompBLAS_handle &handle, const int m, const int n, const T *alpha, const T *const x[], const int incx, const T *const y[], const int incy, T *const A[], const int lda, const int batch_count)
 
template<typename T >
ompBLAS_status copy_batched (ompBLAS_handle &handle, const int n, const T *const x[], const int incx, T *const y[], const int incy, const int batch_count)
 copy device data from x to y More...
 
template<typename T >
ompBLAS_status copy_batched_offset (ompBLAS_handle &handle, const int n, const T *const x[], const int x_offset, const int incx, T *const y[], const int y_offset, const int incy, const int batch_count)
 copy device data from x to y with additional offset applied to array of device pointers More...
 
template<typename T >
ompBLAS_status copy (ompBLAS_handle &handle, const int n, const T *const x, const int incx, T *const y, const int incy)