clMathLibraries / clSPARSE

a software library containing Sparse functions written in OpenCL
Apache License 2.0
173 stars 61 forks source link

Enhancement for transform operations #133

Closed jpola closed 9 years ago

jpola commented 9 years ago
  1. Added more information to message when failed to read matrix from file.
  2. Reorganized functions related to computing rowBlocks they are now in csr-meta.hpp / cpp files instead of clsparse-coo2csr.cpp, rest of functions in clsparse-coo2csr were not used therfore name clsparse-coo2csr-GPU changed to proper one.
  3. Csr_matrix_environment allocates matrix in double precision in the first place which is then casted to single precision.
  4. Sanity checks in clsparseD/SCsrMatrixFromFile.
  5. Added Inclusive and exclusive scans operations + tests.
  6. Rewritten reduce by key operation + tests.
  7. Rewriten coo2csr and csr2coo which no longer need the use of radix sort. I.e we now using 10 kernel calls instead of 34, simple tests showed 6x speedup.
  8. Rewritten dense2csr and csr2dense in more clean way. Improved performance eliminating unnecessary copies.

Minor:

  1. When reading matix in coo format directly the data need to be also sorted by (row, col). Otherwise we will have column major format which is default for mtx storage.

Closes the #131

jpola commented 9 years ago

I cancel this pull and make another resolved one.