LAMA
|
Define structure for multiplication routines. More...
#include <LAMAInterface.hpp>
Public Types | |
typedef void(* | normalGEMV )(ValueType result[], const ValueType alpha, const ValueType x[], const ValueType beta, const ValueType y[], const IndexType numRows, const IndexType numNonZerosPerRows, const IndexType ellIA[], const IndexType ellJA[], const ValueType ellValues[], class SyncToken *syncToken) |
result = alpha * ELL-Matrix * x + b * y. | |
typedef void(* | sparseGEMV )(ValueType result[], const IndexType numRows, const IndexType numNonZerosPerRows, const ValueType alpha, const ValueType x[], const IndexType numNonZeroRows, const IndexType rowIndexes[], const IndexType ellIA[], const IndexType ellJA[], const ValueType ellValues[], class SyncToken *syncToken) |
result = alpha * ELL-Matrix * x, CSR matrix has only some non-zero rows |
Define structure for multiplication routines.
typedef void( * lama::ELLUtilsInterface::Mult< ValueType >::normalGEMV)(ValueType result[], const ValueType alpha, const ValueType x[], const ValueType beta, const ValueType y[], const IndexType numRows, const IndexType numNonZerosPerRows, const IndexType ellIA[], const IndexType ellJA[], const ValueType ellValues[], class SyncToken *syncToken) |
result = alpha * ELL-Matrix * x + b * y.
result | is the result vector |
alpha | is scaling factor for matrix x vector |
x | is input vector for matrix multiplication |
beta | is scaling factor for additional vector |
y | is additional input vector to add |
numRows | is number of elements for all vectors and rows of matrix |
ellIA,ellJA,csrValues | are arrays of ELL storage |
syncToken | optional, if available starts asynchronous computation |
typedef void( * lama::ELLUtilsInterface::Mult< ValueType >::sparseGEMV)(ValueType result[], const IndexType numRows, const IndexType numNonZerosPerRows, const ValueType alpha, const ValueType x[], const IndexType numNonZeroRows, const IndexType rowIndexes[], const IndexType ellIA[], const IndexType ellJA[], const ValueType ellValues[], class SyncToken *syncToken) |
result = alpha * ELL-Matrix * x, CSR matrix has only some non-zero rows
result | is the result vector |
alpha | is scaling factor for matrix x vector |
x | is input vector for matrix multiplication |
numNonZeroRows | is size of rowIndexes |
rowIndexes | are indexes of non-empty rows in matrix |
ellIA,ellJA,csrValues | are arrays of ELL storage |
syncToken | optional, if available starts asynchronous computation |
Note: this routine does not provide the term 'beta * y' as it would require to run over the full result vector