imate
C++/CUDA Reference
Loading...
Searching...
No Matches
cusparse_api.cu File Reference
#include "./cusparse_api.h"
#include "../_cu_definitions/cu_types.h"
#include <cassert>
#include <stdexcept>

Go to the source code of this file.

Namespaces

namespace  cusparse_api
 A collection of templates to wrapper cusparse functions.
 

Functions

template<>
void cusparse_api::create_cusparse_csr_matrix< float, int32_t > (cusparseSpMatDescr_t &cusparse_matrix, const int32_t num_rows, const int32_t num_columns, const int32_t nnz, float *RESTRICT device_A_data, int32_t *RESTRICT device_A_indices, int32_t *RESTRICT device_A_index_pointer)
 A template wrapper for cusparseCreateCsr for the __nv_fp8_e5m2 precision data and int32_t index type.
 
template<>
void cusparse_api::create_cusparse_csr_matrix< float, int64_t > (cusparseSpMatDescr_t &cusparse_matrix, const int64_t num_rows, const int64_t num_columns, const int64_t nnz, float *RESTRICT device_A_data, int64_t *RESTRICT device_A_indices, int64_t *RESTRICT device_A_index_pointer)
 A template wrapper for cusparseCreateCsr for the float precision data and int64_t index type.
 
template<>
void cusparse_api::create_cusparse_csr_matrix< double, int32_t > (cusparseSpMatDescr_t &cusparse_matrix, const int32_t num_rows, const int32_t num_columns, const int32_t nnz, double *RESTRICT device_A_data, int32_t *RESTRICT device_A_indices, int32_t *RESTRICT device_A_index_pointer)
 A template wrapper for cusparseCreateCsr for the double precision data and int32_t index type.
 
template<>
void cusparse_api::create_cusparse_csr_matrix< double, int64_t > (cusparseSpMatDescr_t &cusparse_matrix, const int64_t num_rows, const int64_t num_columns, const int64_t nnz, double *RESTRICT device_A_data, int64_t *RESTRICT device_A_indices, int64_t *RESTRICT device_A_index_pointer)
 A template wrapper for cusparseCreateCsr for the double precision data and int64_t index type.
 
template<>
void cusparse_api::create_cusparse_csc_matrix< float, int32_t > (cusparseSpMatDescr_t &cusparse_matrix, const int32_t num_rows, const int32_t num_columns, const int32_t nnz, float *RESTRICT device_A_data, int32_t *RESTRICT device_A_indices, int32_t *RESTRICT device_A_index_pointer)
 A template wrapper for cusparseCreateCsc for the __nv_fp8_e5m2 precision data and int32_t index type.
 
template<>
void cusparse_api::create_cusparse_csc_matrix< float, int64_t > (cusparseSpMatDescr_t &cusparse_matrix, const int64_t num_rows, const int64_t num_columns, const int64_t nnz, float *RESTRICT device_A_data, int64_t *RESTRICT device_A_indices, int64_t *RESTRICT device_A_index_pointer)
 A template wrapper for cusparseCreateCsc for the float precision data and int64_t index type.
 
template<>
void cusparse_api::create_cusparse_csc_matrix< double, int32_t > (cusparseSpMatDescr_t &cusparse_matrix, const int32_t num_rows, const int32_t num_columns, const int32_t nnz, double *RESTRICT device_A_data, int32_t *RESTRICT device_A_indices, int32_t *RESTRICT device_A_index_pointer)
 A template wrapper for cusparseCreateCsc for the double precision data and int32_t index type.
 
template<>
void cusparse_api::create_cusparse_csc_matrix< double, int64_t > (cusparseSpMatDescr_t &cusparse_matrix, const int64_t num_rows, const int64_t num_columns, const int64_t nnz, double *RESTRICT device_A_data, int64_t *RESTRICT device_A_indices, int64_t *RESTRICT device_A_index_pointer)
 A template wrapper for cusparseCreateCsc for the double precision data and int64_t index type.
 
template<>
void cusparse_api::create_cusparse_vector< float > (cusparseDnVecDescr_t &cusparse_vector, const LongIndexType vector_size, float *RESTRICT device_vector)
 A template wrapper for cusparseCreateDnVec for the __nv_fp8_e5m2 precision data.
 
template<>
void cusparse_api::create_cusparse_vector< double > (cusparseDnVecDescr_t &cusparse_vector, const LongIndexType vector_size, double *RESTRICT device_vector)
 A template wrapper for cusparseCreateDnVec for the double precision data.
 
void cusparse_api::destroy_cusparse_matrix (cusparseSpMatDescr_t &cusparse_matrix)
 Destroy cusparse matrix.
 
void cusparse_api::destroy_cusparse_vector (cusparseDnVecDescr_t &cusparse_vector)
 Destroys cusparse vector.
 
template<>
void cusparse_api::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 cusparseSpMV_bufferSize for __nv_fp8_e5m2 precision data. This function determines the buffer size needed for matrix-vector multiplication using cusparseSpMV. The output is buffer_size variable.
 
template<>
void cusparse_api::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 cusparseSpMV_bufferSize for double precision data. This function determines the buffer size needed for matrix-vector multiplication using cusparseSpMV. The output is buffer_size variable.
 
template<>
void cusparse_api::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 using __nv_fp8_e5m2 precision data.
 
template<>
void cusparse_api::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 using double precision data.