| 30 | // CSC and CSR is the same code |
| 31 | template <typename T> |
| 32 | inline void SpMatDnVec( |
| 33 | DeviceSparseHandle& cusparse_H, |
| 34 | const DeviceSpMatCSR<T>& A, const DeviceDnTen<T>& x, DeviceDnTen<T>& y, |
| 35 | const double alpha, const double beta, |
| 36 | void* buffer |
| 37 | ) { |
| 38 | CHECK_CUSPARSE( cusparseSpMV( |
| 39 | cusparse_H.cusparse_handle, CUSPARSE_OPERATION_NON_TRANSPOSE, |
| 40 | &alpha, A.cusparse_descr, x.cusparse_descr, |
| 41 | &beta, y.cusparse_descr, |
| 42 | CudaTypeMapper<T>::value, CUSPARSE_SPMV_ALG_DEFAULT, buffer |
| 43 | ) ); |
| 44 | return; |
| 45 | } |
| 46 | |
| 47 | // //spGEMM for three CSR matrix |
| 48 | // template <typename T> |
nothing calls this directly
no outgoing calls
no test coverage detected