SparseMatrixArg::SparseMatrixArg(const CpuSparseMatrix& sparse, ArgType argType) : BufferArg(sparse, argType), row_(reinterpret_cast<void*>(sparse.getRows()), VALUE_TYPE_INT32), col_(reinterpret_cast<void*>(sparse.getCols()), VALUE_TYPE_INT32), nnz_(sparse.getElementCnt()), format_(static_cast<SparseDataFormat>(sparse.getFormat())), type_(static_cast<SparseDataType>(sparse.getValueType())) { bufferType_ = TENSOR_SPARSE; }
void SparsePrefetchRowCpuMatrix::addRows(MatrixPtr input) { CpuSparseMatrix* mat = dynamic_cast<CpuSparseMatrix*>(input.get()); CHECK(mat) << "only support sparse matrix"; addRows(reinterpret_cast<const unsigned int*>(mat->getCols()), mat->getElementCnt()); }