commit | c8bf90bf34c87a1bcdd89c3056a5af7f11bab2e9 | [log] [tgz] |
---|---|---|
author | Matthias Boehm <mboehm7@gmail.com> | Thu Apr 04 16:17:27 2024 +0200 |
committer | Matthias Boehm <mboehm7@gmail.com> | Thu Apr 04 16:17:27 2024 +0200 |
tree | 2b0180970dcb6384ff750035db570801cc11c3d5 | |
parent | 045f9e0f62f5f9df0d997d8bbd8496eea5d141f4 [diff] |
[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.
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.
Resource | Links |
---|---|
Quick Start | Install, Quick Start and Hello World |
Documentation: | SystemDS Documentation |
Python Documentation | Python SystemDS Documentation |
Issue Tracker | Jira 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