CUDPP  2.3
CUDA Data-Parallel Primitives Library
Public Member Functions | Public Attributes | List of all members
CUDPPSparseMatrixVectorMultiplyPlan Class Reference

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

CUDPPSegmentedScanPlanm_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
 
CUDPPManagerm_planManager
 

Detailed Description

Plan class for sparse-matrix dense-vector multiply.

Constructor & Destructor Documentation

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.

Parameters
[in]mgrpointer to the CUDPPManager
[in]configThe configuration struct specifying options
[in]numNonZeroElementsThe number of non-zero elements in sparse matrix
[in]AArray of non-zero matrix elements
[in]rowIndexArray of indices of the first element of each row in the "flattened" version of the sparse matrix
[in]indexArray of indices of non-zero elements in the matrix
[in]numRowsThe number of rows in the sparse matrix

Member Data Documentation

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.


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