QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Functions
quda::cublas Namespace Reference

Functions

void init ()
 Create the CUBLAS context. More...
 
void destroy ()
 Destroy the CUBLAS context. More...
 
long long BatchInvertMatrix (void *Ainv, void *A, const int n, const int batch, QudaPrecision precision, QudaFieldLocation location)
 
template<typename T >
__global__ void set_pointer (T **output_array_a, T *input_a, T **output_array_b, T *input_b, int batch_offset)
 

Function Documentation

◆ BatchInvertMatrix()

long long quda::cublas::BatchInvertMatrix ( void *  Ainv,
void *  A,
const int  n,
const int  batch,
QudaPrecision  precision,
QudaFieldLocation  location 
)

Batch inversion the matrix field using an LU decomposition method.

Parameters
[out]AinvMatrix field containing the inverse matrices
[in]AMatrix field containing the input matrices
[in]nDimension each matrix
[in]batchProblem batch size
[in]precisionPrecision of the input/output data
[in]Locationof the input/output data
Returns
Number of flops done in this computation

Definition at line 54 of file blas_cublas.cu.

References errorQuda, quda::blas::flops, FLOPS_CGETRF, FLOPS_CGETRI, getVerbosity(), pool_device_free, pool_device_malloc, pool_pinned_free, pool_pinned_malloc, printfQuda, QUDA_CPU_FIELD_LOCATION, QUDA_CUDA_FIELD_LOCATION, QUDA_SINGLE_PRECISION, QUDA_VERBOSE, qudaDeviceSynchronize, qudaMemcpy, and quda::size.

Here is the call graph for this function:

◆ destroy()

void quda::cublas::destroy ( )

Destroy the CUBLAS context.

Definition at line 38 of file blas_cublas.cu.

References errorQuda.

Referenced by endQuda().

Here is the caller graph for this function:

◆ init()

void quda::cublas::init ( )

◆ set_pointer()

template<typename T >
__global__ void quda::cublas::set_pointer ( T **  output_array_a,
T *  input_a,
T **  output_array_b,
T *  input_b,
int  batch_offset 
)

Definition at line 47 of file blas_cublas.cu.