QUDA  0.9.0
Functions
quda::cublas Namespace Reference

Functions

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 33 of file blas_cublas.cu.

References e, errorQuda, quda::blas::flops, FLOPS_CGETRF, FLOPS_CGETRI, handle, fused_exterior_ndeg_tm_dslash_cuda_gen::i, n, pool_device_free, pool_device_malloc, pool_pinned_free, pool_pinned_malloc, prec, printfQuda, QUDA_CPU_FIELD_LOCATION, QUDA_CUDA_FIELD_LOCATION, QUDA_DOUBLE_PRECISION, QUDA_SINGLE_PRECISION, quda::qudaDeviceSynchronize(), qudaMemcpy, size, start, time(), timeval::tv_sec, timeval::tv_usec, and warningQuda.

Referenced by quda::calculateY().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 26 of file blas_cublas.cu.