commit | acd0f6905c6c556725421794f4010af17f2a75c5 | [log] [tgz] |
---|---|---|
author | Matthias Boehm <mboehm7@gmail.com> | Wed Feb 10 23:01:31 2021 +0100 |
committer | Matthias Boehm <mboehm7@gmail.com> | Wed Feb 10 23:06:03 2021 +0100 |
tree | fd8792b6691a99d1083b8289b7d9f772106bbe7e | |
parent | b37026bac137f780bc9f3fb34887c7dac35a2a5c [diff] |
[SYSTEMDS-2856] Multi-threaded binary matrix-matrix, matrix-scalar ops This patch is a first step towards extended multi-threaded operations support. So far binary operations were not multi-threaded because output allocation dominates the runtime for many operations. With parallel allocators, future in-place updates, increasing degree of parallelism, and somewhat inefficient sparse-unsafe code paths this changes. In this first step, we parallelize matrix-matrix unsafe operations, and matrix-scalar safe operations which did not have a lot of special case handling and thus could simply parallelize over row partitions. On a scenario of a 1M x 1050 input matrix (mostly dense except one one-hot encoded column), this patch improved the Kmeans runtime w/ 50 centroids, 1 run, MKL matrix multiply, and ~60 iterations from 177s to 109s (and relevant binary ops for <= and -2* from 87s to 15s).
Overview: SystemDS is a versatile 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.
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