CUDPP
2.1
CUDA Data-Parallel Primitives Library
|
Plan class for sparse-matrix dense-vector multiply. More...
#include <cudpp_plan.h>
Inherits CUDPPPlan.
Public Member Functions | |
CUDPPSparseMatrixVectorMultiplyPlan (CUDPPManager *mgr, CUDPPConfiguration config, size_t numNZElts, const void *A, const unsigned int *rowindx, const unsigned int *indx, size_t numRows) | |
SparseMatrixVectorMultiply Plan constructor. More... | |
virtual | ~CUDPPSparseMatrixVectorMultiplyPlan () |
Sparse matrix-vector plan destructor. | |
Public Member Functions inherited from CUDPPPlan | |
CUDPPPlan (CUDPPManager *mgr, CUDPPConfiguration config, size_t numElements, size_t numRows, size_t rowPitch) | |
Plan base class constructor. More... | |
CUDPPHandle | getHandle () |
Public Attributes | |
CUDPPSegmentedScanPlan * | m_segmentedScanPlan |
void * | m_d_prod |
unsigned int * | m_d_flags |
unsigned int * | m_d_rowFinalIndex |
unsigned int * | m_d_rowIndex |
unsigned int * | m_d_index |
void * | m_d_A |
unsigned int * | m_rowFinalIndex |
size_t | m_numRows |
Number of rows. | |
size_t | m_numNonZeroElements |
Number of non-zero elements. | |
Public Attributes inherited from CUDPPPlan | |
CUDPPConfiguration | m_config |
size_t | m_numElements |
size_t | m_numRows |
size_t | m_rowPitch |
CUDPPManager * | m_planManager |
Plan class for sparse-matrix dense-vector multiply.
CUDPPSparseMatrixVectorMultiplyPlan::CUDPPSparseMatrixVectorMultiplyPlan | ( | CUDPPManager * | mgr, |
CUDPPConfiguration | config, | ||
size_t | numNonZeroElements, | ||
const void * | A, | ||
const unsigned int * | rowIndex, | ||
const unsigned int * | index, | ||
size_t | numRows | ||
) |
SparseMatrixVectorMultiply Plan constructor.
[in] | mgr | pointer to the CUDPPManager |
[in] | config | The configuration struct specifying options |
[in] | numNonZeroElements | The number of non-zero elements in sparse matrix |
[in] | A | Array of non-zero matrix elements |
[in] | rowIndex | Array of indices of the first element of each row in the "flattened" version of the sparse matrix |
[in] | index | Array of indices of non-zero elements in the matrix |
[in] | numRows | The number of rows in the sparse matrix |
CUDPPSegmentedScanPlan* CUDPPSparseMatrixVectorMultiplyPlan::m_segmentedScanPlan |
Performs a segmented scan of type T using this plan
void* CUDPPSparseMatrixVectorMultiplyPlan::m_d_prod |
Vector of products (of an element in A and its corresponding (thats is belongs to the same row) element in x; this is the input and output of segmented scan
unsigned int* CUDPPSparseMatrixVectorMultiplyPlan::m_d_flags |
Vector of flags where a flag is set if an element of A is the first element of its row; this is the flags vector for segmented scan
unsigned int* CUDPPSparseMatrixVectorMultiplyPlan::m_d_rowFinalIndex |
Vector of row end indices, which for each row specifies an index in A which is the last element of that row. Resides in GPU memory.
unsigned int* CUDPPSparseMatrixVectorMultiplyPlan::m_d_rowIndex |
Vector of row end indices, which for each row specifies an index in A which is the first element of that row. Resides in GPU memory.
unsigned int* CUDPPSparseMatrixVectorMultiplyPlan::m_d_index |
Vector of column numbers one for each element in A
void* CUDPPSparseMatrixVectorMultiplyPlan::m_d_A |
The A matrix
unsigned int* CUDPPSparseMatrixVectorMultiplyPlan::m_rowFinalIndex |
Vector of row end indices, which for each row specifies an index in A which is the last element of that row. Resides in CPU memory.