LAMA
|
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. |
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.
void lama::OpenMPCOOUtils::getCSRSizes | ( | IndexType | csrSizes[], |
const IndexType | numRows, | ||
const IndexType | numValues, | ||
const IndexType | cooIA[] | ||
) | [static] |
OpenMP implementation for COOUtilsInterface::Counting::getCSRSizes.
References LAMA_ASSERT_DEBUG.
Referenced by lama::COOStorage< T >::buildCSR(), and setInterface().
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] |
OpenMP implementation for COOUtilsInterface::Conversions::getCSRValues.
References LAMA_ASSERT_EQUAL_DEBUG.
Referenced by lama::COOStorage< T >::buildCSR(), and setInterface().
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().
lama::OpenMPCOOUtils::LAMA_LOG_DECL_STATIC_LOGGER | ( | logger | ) | [private] |
Logger for this class.
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().
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] |
OpenMP implementation for COOUtilsInterface::Conversions::setCSRValues.
References LAMA_ASSERT_DEBUG, and LAMA_ASSERT_EQUAL_DEBUG.
Referenced by lama::COOStorage< T >::setCSRDataImpl(), and setInterface().
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().