LAMA
lama::CUDAUtils Class Reference

General utilities of the LAMA Interface implemented in CUDA. More...

#include <CUDAUtils.hpp>

Static Public Member Functions

template<typename ValueType >
static ValueType sum (const ValueType array[], const IndexType n)
template<typename ValueType >
static void setVal (ValueType array[], const IndexType n, const ValueType val)
template<typename ValueType >
static void setOrder (ValueType array[], const IndexType n)
template<typename ValueType >
static ValueType getValue (const ValueType *array, const IndexType i)
template<typename ValueType , typename OtherValueType >
static void scale (ValueType mValues[], const IndexType n, const OtherValueType value)
 Scales matrix using a scalar.
template<typename ValueType >
static ValueType maxval (const ValueType array[], const IndexType n)
 CUDA function implements UtilsInterface::Reductions::maxval.
template<typename ValueType >
static ValueType absMaxVal (const ValueType array[], const IndexType n)
 CUDA function implements UtilsInterface::Reductions::absMaxVal.
template<typename ValueType >
static ValueType absMaxDiffVal (const ValueType array1[], const ValueType array2[], const IndexType n)
 CUDA function implements UtilsInterface::Reductions::absMaxDiffVal.
template<typename ValueType1 , typename ValueType2 >
static void set (ValueType1 out[], const ValueType2 in[], const IndexType n)
template<typename ValueType1 , typename ValueType2 >
static void setGather (ValueType1 out[], const ValueType2 in[], const IndexType indexes[], const IndexType n)
 Set out[i] = in[ indexes[i] ], 0 <= i < n.
template<typename ValueType1 , typename ValueType2 >
static void setScatter (ValueType1 out[], const IndexType indexes[], const ValueType2 in[], const IndexType n)
 Set out[ indexes[i] ] = in [i].
template<typename ValueType >
static void invert (ValueType array[], const IndexType n)
 CUDA implementation for UtilsInterface::Math::invert.
static void setInterface (struct UtilsInterface &Utils)
 Routine that registers all routines of this class at the LAMA interface.

Private Member Functions

 LAMA_LOG_DECL_STATIC_LOGGER (logger)

Detailed Description

General utilities of the LAMA Interface implemented in CUDA.


Member Function Documentation

template<typename ValueType >
static ValueType lama::CUDAUtils::absMaxDiffVal ( const ValueType  array1[],
const ValueType  array2[],
const IndexType  n 
) [static]

CUDA function implements UtilsInterface::Reductions::absMaxDiffVal.

template<typename ValueType >
static ValueType lama::CUDAUtils::absMaxVal ( const ValueType  array[],
const IndexType  n 
) [static]

CUDA function implements UtilsInterface::Reductions::absMaxVal.

template<typename ValueType >
static ValueType lama::CUDAUtils::getValue ( const ValueType *  array,
const IndexType  i 
) [static]
template<typename ValueType >
static void lama::CUDAUtils::invert ( ValueType  array[],
const IndexType  n 
) [static]

CUDA implementation for UtilsInterface::Math::invert.

template<typename ValueType >
static ValueType lama::CUDAUtils::maxval ( const ValueType  array[],
const IndexType  n 
) [static]

CUDA function implements UtilsInterface::Reductions::maxval.

template<typename ValueType , typename OtherValueType >
static void lama::CUDAUtils::scale ( ValueType  mValues[],
const IndexType  n,
const OtherValueType  value 
) [static]

Scales matrix using a scalar.

template<typename ValueType1 , typename ValueType2 >
static void lama::CUDAUtils::set ( ValueType1  out[],
const ValueType2  in[],
const IndexType  n 
) [static]
template<typename ValueType1 , typename ValueType2 >
static void lama::CUDAUtils::setGather ( ValueType1  out[],
const ValueType2  in[],
const IndexType  indexes[],
const IndexType  n 
) [static]

Set out[i] = in[ indexes[i] ], 0 <= i < n.

static void lama::CUDAUtils::setInterface ( struct UtilsInterface Utils) [static]

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

param[inout] UtilsInterface struct to register all routines implemented in CUDA

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

template<typename ValueType >
static void lama::CUDAUtils::setOrder ( ValueType  array[],
const IndexType  n 
) [static]
template<typename ValueType1 , typename ValueType2 >
static void lama::CUDAUtils::setScatter ( ValueType1  out[],
const IndexType  indexes[],
const ValueType2  in[],
const IndexType  n 
) [static]

Set out[ indexes[i] ] = in [i].

template<typename ValueType >
static void lama::CUDAUtils::setVal ( ValueType  array[],
const IndexType  n,
const ValueType  val 
) [static]
template<typename ValueType >
static ValueType lama::CUDAUtils::sum ( const ValueType  array[],
const IndexType  n 
) [static]

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