[MINOR] Improve sparse-dense matrix-vector multiplication

For sparse-dense matrix-vector multiplications with large rhs vectors
we use a dedicated kernel with cache blocking. The block sizes are
derived from the sparsity in order to avoid expensive block handling
for very sparse lhs matrices. For a recent case of ultra-sparse graphs
(europe_osm with dims: 50912018-x-50912018, nnz: 108109320, which
is a sparsity of 4.1e-8) the chosen blocksize was larger than the
entire matrix. We now detect these cases, and fall back to the plain
sparse-dense matrix-vector kernel. For above scenario, the runtime
improved from ~170ms to ~155ms after tiered JIT compilation.
1 file changed
tree: 2b0180970dcb6384ff750035db570801cc11c3d5
  1. .github/
  2. .mvn/
  3. bin/
  4. conf/
  5. dev/
  6. docker/
  7. docs/
  8. scripts/
  9. src/
  10. .asf.yaml
  11. .gitattributes
  12. .gitignore
  13. .gitmodules
  14. CITATION
  15. CONTRIBUTING.md
  16. doap.rdf
  17. LICENSE
  18. NOTICE
  19. pom.xml
  20. README.md
README.md

Apache SystemDS

Overview: SystemDS is an open source ML system for the end-to-end data science lifecycle from data integration, cleaning, and feature engineering, over efficient, local and distributed ML model training, to deployment and serving. To this end, we aim to provide a stack of declarative languages with R-like syntax for (1) the different tasks of the data-science lifecycle, and (2) users with different expertise. These high-level scripts are compiled into hybrid execution plans of local, in-memory CPU and GPU operations, as well as distributed operations on Apache Spark. In contrast to existing systems - that either provide homogeneous tensors or 2D Datasets - and in order to serve the entire data science lifecycle, the underlying data model are DataTensors, i.e., tensors (multi-dimensional arrays) whose first dimension may have a heterogeneous and nested schema.

ResourceLinks
Quick StartInstall, Quick Start and Hello World
Documentation:SystemDS Documentation
Python DocumentationPython SystemDS Documentation
Issue TrackerJira Dashboard

Status and Build: SystemDS is renamed from SystemML which is an Apache Top Level Project. To build from source visit SystemDS Install from source

Build Documentation LicenseCheck Java Tests Python Test