LAMA
lama::OpenMPCOOUtils Class Reference

This class provides OpenMP implementations to be used for COOUtilsInterface. More...

#include <OpenMPCOOUtils.hpp>

Static Public Member Functions

static void getCSRSizes (IndexType csrSizes[], const IndexType numRows, const IndexType numValues, const IndexType cooIA[])
 OpenMP implementation for COOUtilsInterface::Counting::getCSRSizes.
template<typename COOValueType , typename CSRValueType >
static void getCSRValues (IndexType csrJA[], CSRValueType csrValues[], IndexType csrIA[], const IndexType numRow, const IndexType numValues, const IndexType cooIA[], const IndexType cooJA[], const COOValueType cooValues[])
 OpenMP implementation for COOUtilsInterface::Conversions::getCSRValues.
template<typename COOValueType , typename CSRValueType >
static void setCSRValues (IndexType cooIA[], IndexType cooJA[], COOValueType cooValues[], const IndexType numRows, const IndexType numDiagonals, const IndexType csrIA[], const IndexType csrJA[], const CSRValueType csrValues[], const bool csrDiagonalProperty)
 OpenMP implementation for COOUtilsInterface::Conversions::setCSRValues.
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 cooIA[], const IndexType cooJA[], const ValueType cooValues[], const IndexType numValues, SyncToken *syncToken)
 Implementation for CSRUtilsInterface::Mult::normalGEMV.
template<typename ValueType >
static void jacobi (ValueType *solution, const IndexType cooNumValues, const IndexType cooIA[], const IndexType cooJA[], const ValueType cooValues[], const ValueType oldSolution[], const ValueType rhs[], const ValueType omega, const IndexType numRows, SyncToken *syncToken)
 Implementation for COOUtilsInterface::Solver::jacobi.
static void setInterface (struct COOUtilsInterface &COOUtils)
 Routine that registers all routines of this class at the LAMA interface.

Private Member Functions

 LAMA_LOG_DECL_STATIC_LOGGER (logger)
 Logger for this class.

Detailed Description

This class provides OpenMP implementations to be used for COOUtilsInterface.

COOStorage is not well supported, but we provide conversions between COO and CSR as well as matrix times vector operation.


Member Function Documentation

void lama::OpenMPCOOUtils::getCSRSizes ( IndexType  csrSizes[],
const IndexType  numRows,
const IndexType  numValues,
const IndexType  cooIA[] 
) [static]
template<typename COOValueType , typename CSRValueType >
void lama::OpenMPCOOUtils::getCSRValues ( IndexType  csrJA[],
CSRValueType  csrValues[],
IndexType  csrIA[],
const IndexType  numRow,
const IndexType  numValues,
const IndexType  cooIA[],
const IndexType  cooJA[],
const COOValueType  cooValues[] 
) [static]
template<typename ValueType >
void lama::OpenMPCOOUtils::jacobi ( ValueType *  solution,
const IndexType  cooNumValues,
const IndexType  cooIA[],
const IndexType  cooJA[],
const ValueType  cooValues[],
const ValueType  oldSolution[],
const ValueType  rhs[],
const ValueType  omega,
const IndexType  numRows,
SyncToken syncToken 
) [static]

Implementation for COOUtilsInterface::Solver::jacobi.

References LAMA_THROWEXCEPTION.

Referenced by setInterface().

Logger for this class.

template<typename ValueType >
void lama::OpenMPCOOUtils::normalGEMV ( ValueType  result[],
const ValueType  alpha,
const ValueType  x[],
const ValueType  beta,
const ValueType  y[],
const IndexType  numRows,
const IndexType  cooIA[],
const IndexType  cooJA[],
const ValueType  cooValues[],
const IndexType  numValues,
SyncToken syncToken 
) [static]

Implementation for CSRUtilsInterface::Mult::normalGEMV.

References LAMA_THROWEXCEPTION.

Referenced by setInterface().

template<typename COOValueType , typename CSRValueType >
void lama::OpenMPCOOUtils::setCSRValues ( IndexType  cooIA[],
IndexType  cooJA[],
COOValueType  cooValues[],
const IndexType  numRows,
const IndexType  numDiagonals,
const IndexType  csrIA[],
const IndexType  csrJA[],
const CSRValueType  csrValues[],
const bool  csrDiagonalProperty 
) [static]
void lama::OpenMPCOOUtils::setInterface ( struct COOUtilsInterface COOUtils) [static]

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

References getCSRSizes(), getCSRValues(), jacobi(), LAMA_INTERFACE_REGISTER, LAMA_INTERFACE_REGISTER_T, LAMA_INTERFACE_REGISTER_TT, normalGEMV(), and setCSRValues().

Referenced by lama::OpenMPInterface::OpenMPInterface().


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