MCPcopy Create free account
hub / github.com/Xtra-Computing/thundersvm / dns_csr_mul

Function dns_csr_mul

src/thundersvm/kernel/kernelmatrix_kernel.cpp:149–160  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

147 }
148
149 void dns_csr_mul(int m, int n, int k, const SyncArray<kernel_type> &dense_mat, const SyncArray<kernel_type> &csr_val,
150 const SyncArray<int> &csr_row_ptr, const SyncArray<int> &csr_col_ind, int nnz,
151 SyncArray<kernel_type> &result) {
152 Eigen::Map<const Eigen::Matrix<kernel_type, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor>> denseMat(dense_mat.host_data(), k, n);
153 Eigen::Map<const Eigen::SparseMatrix<kernel_type, Eigen::RowMajor>> sparseMat(m, k, nnz, csr_row_ptr.host_data(),
154 csr_col_ind.host_data(),
155 csr_val.host_data());
156 Eigen::Matrix<kernel_type, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor> retMat = sparseMat * denseMat;
157 Eigen::Map<Eigen::Matrix<kernel_type, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor> >(result.host_data(),
158 retMat.rows(),
159 retMat.cols()) = retMat;
160 }
161
162 void csr_csr_mul(int m, int n, int k, const SyncArray<kernel_type> &ws_val, const SyncArray<int> &ws_col_ind,
163 const SyncArray<int> &ws_row_ptr, const SyncArray<kernel_type> &csr_val,

Callers 3

dns_csr_mulMethod · 0.85
get_dot_productMethod · 0.85

Calls 1

host_dataMethod · 0.45

Tested by

no test coverage detected