imate
C++/CUDA Reference
cusparse_interface.cu File Reference
#include "./cusparse_interface.h"
#include <cassert>
Include dependency graph for cusparse_interface.cu:

Go to the source code of this file.

Namespaces

 cusparse_interface
 A collection of templates to wrapper cusparse functions.
 

Functions

template<>
void cusparse_interface::create_cusparse_matrix< float > (cusparseSpMatDescr_t &cusparse_matrix, const LongIndexType num_rows, const LongIndexType num_columns, const LongIndexType nnz, float *device_A_data, LongIndexType *device_A_indices, LongIndexType *device_A_index_pointer)
 A template wrapper for cusparseSpMatDescr_t for the float precision data. More...
 
template<>
void cusparse_interface::create_cusparse_matrix< double > (cusparseSpMatDescr_t &cusparse_matrix, const LongIndexType num_rows, const LongIndexType num_columns, const LongIndexType nnz, double *device_A_data, LongIndexType *device_A_indices, LongIndexType *device_A_index_pointer)
 A template wrapper for cusparseSpMatDescr_t for the double precision data. More...
 
template<>
void cusparse_interface::create_cusparse_vector< float > (cusparseDnVecDescr_t &cusparse_vector, const LongIndexType vector_size, float *device_vector)
 A template wrapper for cusparseDnVecDescr_t for the float precision data. More...
 
template<>
void cusparse_interface::create_cusparse_vector< double > (cusparseDnVecDescr_t &cusparse_vector, const LongIndexType vector_size, double *device_vector)
 A template wrapper for cusparseDnVecDescr_t for the double precision data. More...
 
void cusparse_interface::destroy_cusparse_matrix (cusparseSpMatDescr_t &cusparse_matrix)
 Destroys cusparse matrix. More...
 
void cusparse_interface::destroy_cusparse_vector (cusparseDnVecDescr_t &cusparse_vector)
 Destroys cusparse vector. More...
 
template<>
void cusparse_interface::cusparse_matrix_buffer_size< float > (cusparseHandle_t cusparse_handle, cusparseOperation_t cusparse_operation, const float alpha, cusparseSpMatDescr_t cusparse_matrix, cusparseDnVecDescr_t cusparse_input_vector, const float beta, cusparseDnVecDescr_t cusparse_output_vector, cusparseSpMVAlg_t algorithm, size_t *buffer_size)
 A template wrapper for cusparseSpMat_buffersize for float precision data. This function determines the buffer size needed for matrix-vector multiplication using cusparseSpMV. The output is buffer_size variable. More...
 
template<>
void cusparse_interface::cusparse_matrix_buffer_size< double > (cusparseHandle_t cusparse_handle, cusparseOperation_t cusparse_operation, const double alpha, cusparseSpMatDescr_t cusparse_matrix, cusparseDnVecDescr_t cusparse_input_vector, const double beta, cusparseDnVecDescr_t cusparse_output_vector, cusparseSpMVAlg_t algorithm, size_t *buffer_size)
 A template wrapper for cusparseSpMat_buffersize for double precision data. This function determines the buffer size needed for matrix-vector multiplication using cusparseSpMV. The output is buffer_size variable. More...
 
template<>
void cusparse_interface::cusparse_matvec< float > (cusparseHandle_t cusparse_handle, cusparseOperation_t cusparse_operation, const float alpha, cusparseSpMatDescr_t cusparse_matrix, cusparseDnVecDescr_t cusparse_input_vector, const float beta, cusparseDnVecDescr_t cusparse_output_vector, cusparseSpMVAlg_t algorithm, void *external_buffer)
 A wrapper for cusparseSpMV to perform sparse matrix-vector multiplication uasing float precision data. More...
 
template<>
void cusparse_interface::cusparse_matvec< double > (cusparseHandle_t cusparse_handle, cusparseOperation_t cusparse_operation, const double alpha, cusparseSpMatDescr_t cusparse_matrix, cusparseDnVecDescr_t cusparse_input_vector, const double beta, cusparseDnVecDescr_t cusparse_output_vector, cusparseSpMVAlg_t algorithm, void *external_buffer)
 A wrapper for cusparseSpMV to perform sparse matrix-vector multiplication uasing double precision data. More...