1#include <muda/ext/linear_system/type_mapper/algo_mapper.h>
5void LinearSystemContext::generic_spmv(
const T& a,
6 cusparseOperation_t op,
7 cusparseSpMatDescr_t A,
8 const cusparseDnVecDescr* x,
10 cusparseDnVecDescr_t y)
12 set_pointer_mode_host();
14 size_t buffer_size = 0;
15 checkCudaErrors(cusparseSpMV_bufferSize(
16 cusparse(), op, &a, A, x, &b, y, cuda_data_type<T>(), LinearSystemAlgorithm::SPMV_ALG_DEFAULT, &buffer_size));
18 auto buffer = temp_buffer(buffer_size);
20 checkCudaErrors(cusparseSpMV(cusparse(),
28 LinearSystemAlgorithm::SPMV_ALG_DEFAULT,
33#include "spmv/coo_spmv.inl"
34#include "spmv/csr_spmv.inl"
35#include "spmv/bsr_spmv.inl"
36#include "spmv/triplet_spmv.inl"