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

Function csr_csr_mul

src/thundersvm/kernel/kernelmatrix_kernel.cpp:162–176  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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,
164 const SyncArray<int> &csr_row_ptr, const SyncArray<int> &csr_col_ind, int nnz, int nnz2,
165 SyncArray<kernel_type> &result) {
166 Eigen::Map<const Eigen::SparseMatrix<kernel_type, Eigen::RowMajor>> sparseMat1(m, k, nnz, csr_row_ptr.host_data(),
167 csr_col_ind.host_data(),
168 csr_val.host_data());
169 Eigen::Map<const Eigen::SparseMatrix<kernel_type>> sparseMat2(k, n, nnz2, ws_row_ptr.host_data(),
170 ws_col_ind.host_data(),
171 ws_val.host_data());
172 Eigen::Matrix<kernel_type, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor> retMat = sparseMat1 * sparseMat2;
173 Eigen::Map<Eigen::Matrix<kernel_type, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor> >(result.host_data(),
174 retMat.rows(),
175 retMat.cols()) = retMat;
176 }
177
178 void dns_dns_mul(int m, int n, int k, const SyncArray<kernel_type> &dense_mat,
179 const SyncArray<kernel_type> &origin_dense, SyncArray<kernel_type> &result){

Callers 2

csr_csr_mulMethod · 0.85

Calls 1

host_dataMethod · 0.45

Tested by

no test coverage detected