LAMA
|
This class provides OpenMP implementations for methods in lama::DenseUtilsInterface. More...
#include <OpenMPDenseUtils.hpp>
Static Public Member Functions | |
template<typename DenseValueType > | |
static void | getCSRSizes (IndexType csrSizes[], bool diagonalFlag, const IndexType numRows, const IndexType numColumns, const DenseValueType denseValues[], const DenseValueType eps) |
OpenMP implementation for DenseUtilsInterface::Counting::getCSRSizes. | |
template<typename DenseValueType , typename CSRValueType > | |
static void | getCSRValues (IndexType csrJA[], CSRValueType csrValues[], const IndexType csrIA[], const bool diagonalFlag, const IndexType numRows, const IndexType numColumns, const DenseValueType denseValues[], const DenseValueType eps) |
OpenMP implementation for DenseUtilsInterface::Conversions::getCSRValues. | |
template<typename DenseValueType1 , typename DenseValueType2 > | |
static void | copyDenseValues (DenseValueType1 newValues[], const IndexType numRows, const IndexType numColumns, const DenseValueType2 oldValues[]) |
OpenMP implementation for DenseUtilsInterface::Copy::copyDenseValues. | |
template<typename DenseValueType , typename CSRValueType > | |
static void | setCSRValues (DenseValueType denseValues[], const IndexType numRows, const IndexType numColumns, const IndexType csrIA[], const IndexType csrJA[], const CSRValueType csrValues[]) |
OpenMP implementation for DenseUtilsInterface::Conversions::setCSRValues. | |
template<typename DiagonalValueType , typename DenseValueType > | |
static void | getDiagonal (DiagonalValueType diagonalValues[], const IndexType numDiagonalValues, const DenseValueType denseValues[], const IndexType numRows, const IndexType numColumns) |
OpenMP implementation for DenseUtilsInterface::Copy::getDiagonal. | |
template<typename DenseValueType , typename DiagonalValueType > | |
static void | setDiagonal (DenseValueType denseValues[], const IndexType numRows, const IndexType numColumns, const DiagonalValueType diagonalValues[], const IndexType numDiagonalValues) |
OpenMP implementation for DenseUtilsInterface::Copy::setDiagonal. | |
template<typename DenseValueType > | |
static void | scaleValue (DenseValueType denseValues[], const IndexType numRows, const IndexType numColumns, const DenseValueType val) |
OpenMP implementation for DenseUtilsInterface::Modify::scaleValue. | |
template<typename DenseValueType > | |
static void | setDiagonalValue (DenseValueType denseValues[], const IndexType numRows, const IndexType numColumns, const DenseValueType val) |
OpenMP implementation for DenseUtilsInterface::Modify::setDiagonalValue. | |
static void | setInterface (struct DenseUtilsInterface &DenseUtils) |
Routine that registers all routines of this class at the LAMA interface. | |
Private Member Functions | |
LAMA_LOG_DECL_STATIC_LOGGER (logger) | |
Static Private Member Functions | |
static IndexType | denseindex (const IndexType i, const IndexType j, const IndexType, const IndexType numColumns) |
This class provides OpenMP implementations for methods in lama::DenseUtilsInterface.
void lama::OpenMPDenseUtils::copyDenseValues | ( | DenseValueType1 | newValues[], |
const IndexType | numRows, | ||
const IndexType | numColumns, | ||
const DenseValueType2 | oldValues[] | ||
) | [static] |
OpenMP implementation for DenseUtilsInterface::Copy::copyDenseValues.
References denseindex().
Referenced by lama::DenseStorageView< T >::assignDenseStorageImpl(), and setInterface().
static IndexType lama::OpenMPDenseUtils::denseindex | ( | const IndexType | i, |
const IndexType | j, | ||
const IndexType | , | ||
const IndexType | numColumns | ||
) | [inline, static, private] |
Referenced by copyDenseValues(), getCSRSizes(), getCSRValues(), getDiagonal(), scaleValue(), setCSRValues(), setDiagonal(), and setDiagonalValue().
void lama::OpenMPDenseUtils::getCSRSizes | ( | IndexType | csrSizes[], |
bool | diagonalFlag, | ||
const IndexType | numRows, | ||
const IndexType | numColumns, | ||
const DenseValueType | denseValues[], | ||
const DenseValueType | eps | ||
) | [static] |
OpenMP implementation for DenseUtilsInterface::Counting::getCSRSizes.
References lama::abs(), denseindex(), and LAMA_ASSERT_DEBUG.
Referenced by lama::DenseStorageView< T >::buildCSR(), and setInterface().
void lama::OpenMPDenseUtils::getCSRValues | ( | IndexType | csrJA[], |
CSRValueType | csrValues[], | ||
const IndexType | csrIA[], | ||
const bool | diagonalFlag, | ||
const IndexType | numRows, | ||
const IndexType | numColumns, | ||
const DenseValueType | denseValues[], | ||
const DenseValueType | eps | ||
) | [static] |
OpenMP implementation for DenseUtilsInterface::Conversions::getCSRValues.
Helper routine for conversion Dense to CSR.
References lama::abs(), denseindex(), and LAMA_ASSERT_EQUAL_DEBUG.
Referenced by lama::DenseStorageView< T >::buildCSR(), and setInterface().
void lama::OpenMPDenseUtils::getDiagonal | ( | DiagonalValueType | diagonalValues[], |
const IndexType | numDiagonalValues, | ||
const DenseValueType | denseValues[], | ||
const IndexType | numRows, | ||
const IndexType | numColumns | ||
) | [static] |
OpenMP implementation for DenseUtilsInterface::Copy::getDiagonal.
References denseindex().
Referenced by lama::DenseStorageView< T >::getDiagonalImpl(), and setInterface().
lama::OpenMPDenseUtils::LAMA_LOG_DECL_STATIC_LOGGER | ( | logger | ) | [private] |
void lama::OpenMPDenseUtils::scaleValue | ( | DenseValueType | denseValues[], |
const IndexType | numRows, | ||
const IndexType | numColumns, | ||
const DenseValueType | val | ||
) | [static] |
OpenMP implementation for DenseUtilsInterface::Modify::scaleValue.
References denseindex(), and lama::zero.
Referenced by lama::DenseStorageView< T >::scaleImpl(), lama::DenseStorageView< T >::setIdentity(), setInterface(), and lama::DenseStorageView< T >::setZero().
void lama::OpenMPDenseUtils::setCSRValues | ( | DenseValueType | denseValues[], |
const IndexType | numRows, | ||
const IndexType | numColumns, | ||
const IndexType | csrIA[], | ||
const IndexType | csrJA[], | ||
const CSRValueType | csrValues[] | ||
) | [static] |
OpenMP implementation for DenseUtilsInterface::Conversions::setCSRValues.
References denseindex().
Referenced by lama::DenseStorageView< T >::setCSRDataImpl(), and setInterface().
void lama::OpenMPDenseUtils::setDiagonal | ( | DenseValueType | denseValues[], |
const IndexType | numRows, | ||
const IndexType | numColumns, | ||
const DiagonalValueType | diagonalValues[], | ||
const IndexType | numDiagonalValues | ||
) | [static] |
OpenMP implementation for DenseUtilsInterface::Copy::setDiagonal.
References denseindex().
Referenced by lama::DenseStorageView< T >::setDiagonalImpl(), and setInterface().
void lama::OpenMPDenseUtils::setDiagonalValue | ( | DenseValueType | denseValues[], |
const IndexType | numRows, | ||
const IndexType | numColumns, | ||
const DenseValueType | val | ||
) | [static] |
OpenMP implementation for DenseUtilsInterface::Modify::setDiagonalValue.
References denseindex(), and lama::min().
Referenced by lama::DenseStorageView< T >::setDiagonalImpl(), lama::DenseStorageView< T >::setIdentity(), and setInterface().
void lama::OpenMPDenseUtils::setInterface | ( | struct DenseUtilsInterface & | DenseUtils | ) | [static] |
Routine that registers all routines of this class at the LAMA interface.
References copyDenseValues(), getCSRSizes(), getCSRValues(), getDiagonal(), LAMA_INTERFACE_REGISTER_T, LAMA_INTERFACE_REGISTER_TT, scaleValue(), setCSRValues(), setDiagonal(), and setDiagonalValue().
Referenced by lama::OpenMPInterface::OpenMPInterface().