LAMA
lama::OpenMPDenseUtils Class Reference

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)

Detailed Description

This class provides OpenMP implementations for methods in lama::DenseUtilsInterface.


Member Function Documentation

template<typename DenseValueType1 , typename DenseValueType2 >
void lama::OpenMPDenseUtils::copyDenseValues ( DenseValueType1  newValues[],
const IndexType  numRows,
const IndexType  numColumns,
const DenseValueType2  oldValues[] 
) [static]
static IndexType lama::OpenMPDenseUtils::denseindex ( const IndexType  i,
const IndexType  j,
const IndexType  ,
const IndexType  numColumns 
) [inline, static, private]
template<typename DenseValueType >
void lama::OpenMPDenseUtils::getCSRSizes ( IndexType  csrSizes[],
bool  diagonalFlag,
const IndexType  numRows,
const IndexType  numColumns,
const DenseValueType  denseValues[],
const DenseValueType  eps 
) [static]
template<typename DenseValueType , typename CSRValueType >
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().

template<typename DiagonalValueType , typename DenseValueType >
void lama::OpenMPDenseUtils::getDiagonal ( DiagonalValueType  diagonalValues[],
const IndexType  numDiagonalValues,
const DenseValueType  denseValues[],
const IndexType  numRows,
const IndexType  numColumns 
) [static]
template<typename DenseValueType >
void lama::OpenMPDenseUtils::scaleValue ( DenseValueType  denseValues[],
const IndexType  numRows,
const IndexType  numColumns,
const DenseValueType  val 
) [static]
template<typename DenseValueType , typename CSRValueType >
void lama::OpenMPDenseUtils::setCSRValues ( DenseValueType  denseValues[],
const IndexType  numRows,
const IndexType  numColumns,
const IndexType  csrIA[],
const IndexType  csrJA[],
const CSRValueType  csrValues[] 
) [static]
template<typename DenseValueType , typename DiagonalValueType >
void lama::OpenMPDenseUtils::setDiagonal ( DenseValueType  denseValues[],
const IndexType  numRows,
const IndexType  numColumns,
const DiagonalValueType  diagonalValues[],
const IndexType  numDiagonalValues 
) [static]
template<typename DenseValueType >
void lama::OpenMPDenseUtils::setDiagonalValue ( DenseValueType  denseValues[],
const IndexType  numRows,
const IndexType  numColumns,
const DenseValueType  val 
) [static]

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