LAMA
lama::CUDACSRUtils Class Reference

#include <CUDACSRUtils.hpp>

Static Public Member Functions

static IndexType sizes2offsets (IndexType sizes[], const IndexType numRows)
 Helper routine for conversion CSR to CSR format.
static void offsets2sizes (IndexType sizes[], const IndexType offsets[], const IndexType n)
static bool hasDiagonalProperty (const IndexType numDiagonals, const IndexType csrIA[], const IndexType csrJA[])
template<typename ValueType >
static void convertCSR2CSC (IndexType cscIA[], IndexType cscJA[], ValueType cscValues[], const IndexType csrIA[], const IndexType csrJA[], const ValueType csrValues[], int numRows, int numColumns, int numValues)
 Matrix transpose for CSR matrices on CUDA device.
template<typename ValueType >
static void normalGEMV (ValueType result[], const ValueType alpha, const ValueType x[], const ValueType beta, const ValueType y[], const IndexType numRows, const IndexType csrIA[], const IndexType csrJA[], const ValueType csrValues[], class SyncToken *syncToken)
 Implementation for CSRUtilsInterface::Mult::normalGEMV.
template<typename ValueType >
static void sparseGEMV (ValueType result[], const ValueType alpha, const ValueType x[], const IndexType numNonZeroRows, const IndexType rowIndexes[], const IndexType csrIA[], const IndexType csrJA[], const ValueType csrValues[], class SyncToken *syncToken)
 Implementation for CSRUtilsInterface::Mult::sparseGEMV.
template<typename ValueType >
static void jacobi (ValueType *const solution, const IndexType csrIA[], const IndexType csrJA[], const ValueType csrValues[], const ValueType rhs[], const ValueType oldSolution[], const ValueType omega, const IndexType numRows, class SyncToken *syncToken)
 Implementation for CSRUtilsInterface::Solver::jacobi.
template<typename ValueType >
static void jacobiHalo (ValueType solution[], const IndexType localIA[], const ValueType localValues[], const IndexType haloIA[], const IndexType haloJA[], const ValueType haloValues[], const IndexType haloRowIndexes[], const ValueType oldSolution[], const ValueType omega, const IndexType numNonEmptyRows)
 Implementation for CSRUtilsInterface::Solver::jacobiHalo.
static void setInterface (struct CSRUtilsInterface &CSRUtils)
 Routine that registers all routines of this class at the LAMA interface.

Private Member Functions

 LAMA_LOG_DECL_STATIC_LOGGER (logger)

Member Function Documentation

template<typename ValueType >
static void lama::CUDACSRUtils::convertCSR2CSC ( IndexType  cscIA[],
IndexType  cscJA[],
ValueType  cscValues[],
const IndexType  csrIA[],
const IndexType  csrJA[],
const ValueType  csrValues[],
int  numRows,
int  numColumns,
int  numValues 
) [static]

Matrix transpose for CSR matrices on CUDA device.

static bool lama::CUDACSRUtils::hasDiagonalProperty ( const IndexType  numDiagonals,
const IndexType  csrIA[],
const IndexType  csrJA[] 
) [static]
template<typename ValueType >
static void lama::CUDACSRUtils::jacobi ( ValueType *const  solution,
const IndexType  csrIA[],
const IndexType  csrJA[],
const ValueType  csrValues[],
const ValueType  rhs[],
const ValueType  oldSolution[],
const ValueType  omega,
const IndexType  numRows,
class SyncToken syncToken 
) [static]

Implementation for CSRUtilsInterface::Solver::jacobi.

template<typename ValueType >
static void lama::CUDACSRUtils::jacobiHalo ( ValueType  solution[],
const IndexType  localIA[],
const ValueType  localValues[],
const IndexType  haloIA[],
const IndexType  haloJA[],
const ValueType  haloValues[],
const IndexType  haloRowIndexes[],
const ValueType  oldSolution[],
const ValueType  omega,
const IndexType  numNonEmptyRows 
) [static]
template<typename ValueType >
static void lama::CUDACSRUtils::normalGEMV ( ValueType  result[],
const ValueType  alpha,
const ValueType  x[],
const ValueType  beta,
const ValueType  y[],
const IndexType  numRows,
const IndexType  csrIA[],
const IndexType  csrJA[],
const ValueType  csrValues[],
class SyncToken syncToken 
) [static]
static void lama::CUDACSRUtils::offsets2sizes ( IndexType  sizes[],
const IndexType  offsets[],
const IndexType  n 
) [static]
static void lama::CUDACSRUtils::setInterface ( struct CSRUtilsInterface CSRUtils) [static]

Routine that registers all routines of this class at the LAMA interface.

Referenced by lama::CUDAInterface::CUDAInterface().

static IndexType lama::CUDACSRUtils::sizes2offsets ( IndexType  sizes[],
const IndexType  numRows 
) [static]

Helper routine for conversion CSR to CSR format.

template<typename ValueType >
static void lama::CUDACSRUtils::sparseGEMV ( ValueType  result[],
const ValueType  alpha,
const ValueType  x[],
const IndexType  numNonZeroRows,
const IndexType  rowIndexes[],
const IndexType  csrIA[],
const IndexType  csrJA[],
const ValueType  csrValues[],
class SyncToken syncToken 
) [static]

The documentation for this class was generated from the following file: