blob: 4c7d01d57f3918321646776b1ebb04a504064b1a [file] [log] [blame]
<!--
-->
<!--
-->
<!DOCTYPE html>
<html lang="en">
<!--
-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Roadmap</title>
<meta name="description" content="Apache SystemDS Roadmap">
<meta name="author" content="Apache SystemDS">
<!-- Enable responsive viewport -->
<meta name="HandheldFriendly" content="True">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- You can use Open Graph tags to customize link previews.
Learn more: https://developers.facebook.com/docs/sharing/webmasters -->
<meta property="og:url" content="https://systemds.apache.org/" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Roadmap" />
<meta property="og:description" content="Apache SystemDS is an open source ML system for the end-to-end data science lifecycle" />
<meta property="og:image" content="" />
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Le styles -->
<link rel="stylesheet" href="/assets/css/main.css">
<!-- favicons -->
<link rel="shortcut icon" href="/assets/img/favicon.png">
</head> <!-- META -->
<body class="vcard">
<!--
-->
<header class="site-header site-header--not-home">
<h1 class="logo"><a class="url" href="/"><i class="logo-mark"></i><span class="fn org">Apache SystemDS<sup
id="trademark">&trade;</sup></span></a></h1>
<nav class="main-nav">
<ul>
<li role="presentation">
<a href="/download" target="_self">Download</a>
</li>
<li role="presentation">
<a href="/get-started" target="_self">Get Started</a>
</li>
<li role="presentation">
<a class="nav-link--hover">Docs <i class="icon icon-chevron-down"></i></a>
<ul>
<li><a href="https://apache.github.io/systemds/" target="_blank">latest</a></li>
<li><a href="https://systemds.apache.org/docs/3.2.0/" target="_blank">3.2.0 (stable)</a></li>
<li><a href="https://systemds.apache.org/release-notes/systemds-release-notes-3.2.0" target="_blank">Release Notes 3.2.0</a></li>
</ul>
</li>
<li role="presentation">
<a class="nav-link--hover">Community <i class="icon icon-chevron-down"></i></a>
<ul>
<li><a href="/community" target="_self">Get Involved</a></li>
<li><a href="https://issues.apache.org/jira/browse/SYSTEMDS" target="_blank">Issue Tracker</a></li>
<li><a href="https://github.com/apache/systemds" target="_blank">Source Code</a></li>
<li><a href="https://github.com/apache/systemds-website" target="_blank">Website Source Code</a></li>
</ul>
</li>
<li role="presentation">
<a class="nav-link--hover">Apache <i class="icon icon-chevron-down"></i></a>
<ul>
<li><a href="https://www.apache.org/foundation/how-it-works" target="_blank">Apache Software Foundation</a></li>
<li><a href="https://www.apache.org/licenses/" target="_blank">Apache License</a></li>
<li><a href="https://www.apache.org/foundation/sponsorship" target="_blank">Sponsorship</a></li>
<li><a href="https://www.apache.org/foundation/thanks" target="_blank">Thanks</a></li>
<li><a href="/privacy-policy" target="_self">Privacy Policy</a></li>
<li><a href="/security" target="_self">Security</a></li>
</ul>
</li>
</ul>
</nav>
</header> <!-- GLOBAL HEADER -->
<!--
-->
<!--
-->
<div>
<!--
-->
<!-- Hero -->
<section class="full-stripe full-stripe--subpage-header clear-header">
<div class="ml-container ml-container--horizontally-center">
<div class="col col-12 content-group content-group--center-content content-group--center-align">
<h1>Apache SystemDS<sup id="trademark">&trade;</sup> Roadmap</h1>
</div>
</div>
</section>
<section class="full-stripe full-stripe--alternate">
<div class="ml-container ml-container--narrow content-group">
<div class="col col-12">
<h2>Planned for Future Releases</h2>
<ul>
<li>Completion of Prior Experimental Features</li>
<li>Algorithms & builtin functions
<ul>
<li>NN layers-based factorization machines with regression & classification capabilities</li>
<li>NN optimization test suite with well known optimization test functions</li>
<li>Model selection & hyper parameter tuning</li>
<li>Additional distribution functions, e.g. weibull, gamma</li>
<li>Time Series Analysis and Anomaly Detection</li>
<li>Scalable Decomposition Algorithms</li>
</ul>
</li>
<li>Enhanced Deep Learning support
<ul>
<li>Coherent sparse operations on CPU/GPU</li>
<li>Coherent single-precision support on CPU/GPU</li>
<li>Distributed DL operations</li>
</ul>
</li>
<li>GPU Support
<ul>
<li>Full compiler integration (cost-based, automatic placement)</li>
<li>Multi GPUs</li>
<li>Distributed GPUs</li>
</ul>
</li>
<li>Code generation
<ul>
<li>Deep learning operations</li>
<li>Heterogeneous HW, incl GPUs</li>
</ul>
</li>
<li>Compressed Linear Algebra
<ul>
<li>Deep learning operations</li>
<li>Ultra-sparse datasets</li>
</ul>
</li>
<li>Model Serving</li>
<li>Misc Runtime
<ul>
<li>NUMA-awareness (thread pools, matrix partitioning)</li>
<li>Unified memory management (ops, bufferpool, RDDs/broadcasts)</li>
<li>Support additional external formats such as feather format for matrices and frames</li>
<li>Parfor support for broadcasts</li>
</ul>
</li>
<li>Misc Compiler
<ul>
<li>Holistic sum-product optimization and operator fusion</li>
<li>SPOOF compiler improvement</li>
<li>Tree-based Data Structures</li>
<li>Global Dataflow Optimizations</li>
</ul>
</li>
<li>Tooling</li>
<li>Common DSL Architecture</li>
</ul>
</div>
<div class="col col-12">
<h2>Current Release</h2>
<ul>
<li>
<strong>SystemML 1.2.0 (<a href="release-notes/systemml-release-notes-1.2.0.html">released</a> in Aug, 2018)
<a
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12342959&projectId=12319522">details</a></strong>
<ul>
<li>New data type list for lists and structs</li>
<li>Built in deep learning functions, e.g. convolution, maxpooling, bias</li>
<li>DML eval function</li>
<li>Multiple new builtin functions, e.g. exists, lower.tri, upper.tri</li>
<li>Code motion, global subexpression elimination, rewrites for codegen</li>
<li>Performance improvements for ultra-sparse data and instruction generation
</ul>
</li>
<li>
Experimental Features
<ul>
<li>Parameter server</li>
<li>Sparsity estimators</li>
</ul>
</li>
<li>
Removals
<ul>
<li>Opt level 4</li>
</ul>
</li>
</ul>
</div>
<div class="col col-12">
<h2>Prior Releases</h2>
<ul>
<li>
<strong>SystemML 1.1.0 (<a href="release-notes/systemml-release-notes-1.1.0.html">released</a> in March, 2018)
<a
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319522&version=12342282">details</a></strong>
<ul>
<li>New Builtin Functions: `ifelse`, `assert`, `eval`, `avg_pool`, `avg_pool_backward`</li>
<li>Additional Layers in NN library: average pooling, upsampling, low-rank fully connected</li>
<li>New Capabilities/Features such as dense matrix blocks >16GB, additional ParFor result aggregation
operations, UDFs callable in expressions, zero rows/columns matrices, matrix-matrix multiplication over
compressed matrices</li>
<li>Extended Caffe2DML and Keras2DML APIs</li>
<li>Compiler & Runtime enhancements</>
<li>Performance improvements</li>
</ul>
</li>
<li>
<strong>SystemML 1.0.0 (<a href="release-notes/systemml-release-notes-1.0.0.html">released</a> in December,
2017)
<a
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319522&version=12338328">details</a></strong>
<ul>
<li>Enhanced Deep Learning support with enhanced NN layers and functions, Caffe2DML, and operator
implementation</li>
<li>Native BLAS support</li>
<li>Additional algorithms: autoencoder, enhanced PCA</li>
<li>Enhanced rewrites, IPA, vectorization, and instruction generation</li>
<li>Enhanced JMLC API, e.g. prepared scripts with thread affinity for outputs and configs, script cloning,
configuration management</li>
<li>SystemML Lite artifact</li>
<li>Compression on by default</li>
</ul>
</li>
<li>
Experimental Features
<ul>
<li>Keras2DML.</li>
<li>Enhanced code generation, code gen optimizer, and multi-threaded codegen operators/li>
<li>Enhanced GPU support</li>
</ul>
</li>
<li>
Removals
<ul>
<li>Dropped JDK 7 support</li>
</ul>
</li>
<li>
<strong>SystemML 0.15.0 (<a href="release-notes/systemml-release-notes-0.15.0.html">released</a> in September,
2017)
<a
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319522&version=12341587">details</a></strong>
<ul>
<li>Added several new 2D convolution layers</li>
<li>Graduated `nn` library from staging to `scripts/nn`</li>
</ul>
</li>
<li>
Experimental Features
<ul>
<li>Expanded Code Generation for broader performance improvements</li>
<li>Enhanced GPU support and scalability</li>
</ul>
</li>
<li>
Removals
<ul>
<li>Removed file-based transform</li>
<li>Removed original MLContext API</li>
</ul>
</li>
</ul>
<ul>
<li>
<strong>SystemML 0.14.0-incubating (<a
href="release-notes/systemml-release-notes-0.14.0-incubating.html">released</a> in May, 2017)
<a
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319522&version=12340322">details</a></strong>
<ul>
<li>Runtime feature extensions (new libsvm-binary data converters, parfor spark buffer pool handling, parfor
block partitioning of fixed size batches of rows or columns, native dataset support in parfor spark
datapartition-execute)</li>
<li>Compiler feature extensions (improved parfor execution type selection, improved literal replacement for
nrow/ncol, simplified instruction generation across back-ends, consolidated static/dynamic rewrite
utilities)</li>
</ul>
</li>
<li>
Experimental Features
<ul>
<li>New Code Generation capabilities for automatic operator fusion (basic code generator, compiler
integration, runtime integration, in-memory source code compilation, extended explain tool, support for
right indexing and replace in cellwise and
row aggregate templates, support for row, column, or no aggregation in rowwise template). Note code
generation provides significant performance gains with fewer read/write intermediates, reduced scans of
inputs and intermediates, and enhanced
sparsity exploitation. To enable this feature, set codegen.enabled property to true in SystemML-config.xml
file.</li>
<li>New instructions and operators for GPU support (relu_maxpooling, conv2d_bias_add, bias_multiply)</li>
</ul>
</li>
<li>
Removals
<ul>
<li>Removed support for Java 6 and Java 7</li>
<li>Removed parfor perftesttool and cost estimator</li>
</ul>
</li>
</ul>
<ul>
<li>
<strong>SystemML 0.13.0-incubating (<a
href="release-notes/systemml-release-notes-0.13.0-incubating.html">released</a> in March, 2017)
<a
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319522&version=12339247">details</a></strong>
<ul>
<li>Updated build for Spark 2.1.0</li>
<li>New simplification rewrites for stratstats</li>
<li>New fused operator tack+* in CP and Spark</li>
<li>New dmlFromResource capability in Python (equivalent to Scala)</li>
<li>Add input float support to MLContext</li>
</ul>
</li>
<li>
Documentation Enhancements
<ul>
<li>Deploy versioned documentation to main project website</li>
<li>Add python mlcontext example to engine dev guide</li>
<li>Add MLContext info functionality to docs</li>
<li>Update DML Language Reference for write description parameter</li>
</ul>
</li>
<li>
Deprecations, Removals
<ul>
<li>Deprecate old MLContext API</li>
<li>Deprecate parfor perftesttool</li>
<li>Deprecate SQLContext methods</li>
<li>Replace deprecated Accumulator with AccumulatorV2</li>
<li>Replace append with cbind for matrices</li>
<li>Migrate Vector and LabeledPoint classes from mllib to ml</li>
</ul>
</li>
<li>
Experimental Features / Algorithms
<ul>
<li>Compressed Linear Algebra v2 (new DDC encoding format, hardened sample-based estimators, debugging
tools, new column grouping algorithm, additional operations)</li>
</ul>
</li>
</ul>
<ul>
<li>
<strong>SystemML 0.12.0-incubating (<a
href="release-notes/systemml-release-notes-0.12.0-incubating.html">released</a> in February, 2017)
<a
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319522&version=12339246">details</a></strong>
<ul>
<li>Support pip install of new python package</li>
<li>Allow NumPy arrays, Pandas DataFrame and SciPy matrices as input to MLContext</li>
<li>Improve SystemML Python DSL for NumPy</li>
<li>Updated build for Spark 1.6.0</li>
<li>DML utility script to shuffle input dataset</li>
</ul>
</li>
<li>
Experimental Features / Algorithms
<ul>
<li>GPU Enhancements</li>
</ul>
</li>
</ul>
<ul>
<li>
<strong>SystemML 0.11.0-incubating (<a
href="release-notes/systemml-release-notes-0.11.0-incubating.html">released</a> in November, 2016)
<a
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319522&version=12335820">details</a></strong>
<ul>
<li>SystemML frames</li>
<li>New MLContext API</li>
<li>Transform functions based on SystemML frames</li>
</ul>
</li>
<li>
Experimental Features / Algorithms
<ul>
<li>New built-in functions for deep learning (convolution and pooling)</li>
<li>Deep learning library (DML bodied functions)</li>
<li>Python DSL Integration</li>
<li>GPU Support</li>
<li>Compressed Linear Algebra</li>
</ul>
</li>
<li>
New Algorithms
<ul>
<li>Lasso</li>
<li>kNN</li>
<li>Lanczos</li>
<li>PPCA</li>
</ul>
</li>
<li>
Deep Learning Algorithms
<ul>
<li>CNN (Lenet)</li>
<li>RBM</li>
</ul>
</li>
</ul>
<ul>
<li>
<strong>SystemML 0.10.0-incubating (<a
href="release-notes/systemml-release-notes-0.10.0-incubating.html">released</a> in June, 2016)
<a
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319522&version=12334651">details</a></strong>
<ul>
<li>Different types of Spark Matrix Blocks: MCSR, CSR, COO</li>
<li>SystemML Frame support in JMLC/CP</li>
<li>Initial Deep Learning support</li>
<li>API/Scripts: parser error handling, SystemML configuration handling,</li>
</ul>
</li>
<li>
Include Algorithms in SystemML jar, print matrix
<ul>
<li>New fused operator: wdivmm with variations</li>
<li>Performance Features: cache-conscious operations, more multithreaded</li>
</ul>
</li>
<li>
Operations, New Simplification Rewrites
<ul>
<li>New Algorithms: kNN</li>
<li>Documentation: javadocs, Jupyter/Zeppelin notebook examples</li>
</ul>
</li>
</ul>
<ul>
<li>
<strong>SystemML 0.9.0-incubating (<a
href="release-notes/systemml-release-notes-0.9.0-incubating.html">released</a> in January, 2016)
<a
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319522&version=12334650">details</a></strong>
<ul>
<li>Improvements to MLContext and MLPipeline wrappers</li>
<li>New converter utilities for RDDs and DataFrames</li>
<li>New Optimizations for Spark Backend, e.g. eager RDD caching and</li>
</ul>
</li>
<li>
Repartitioning, RDD Checkpointing, On-Demand Creation of SparkContext
<ul>
<li>New Runtime Operators for mmult, multihreaded readers and operators.</li>
<li>New Algorithms: ALS, Cubic Splines</li>
<li>Online Documentation</li>
</ul>
</li>
</ul>
</div>
</div>
</section>
</div>
<!--
-->
<footer class="site-footer">
<div class="ml-container ml-container--horizontally-center">
<div class="footer-col-wrapper">
<div style="margin-top: 20px; margin-bottom: 20px;">
<a href="https://www.apache.org"><img src="/assets/img/apache-foundation-logo.png" alt="Apache Incubator" /></a>
</div>
<!--Footer copyright year update credit: http://updateyourfooter.com/-->
<div>
Copyright &copy; 2015
<script>new Date().getFullYear() > 2015 && document.write("-" + new Date().getFullYear());</script>
<a href="https://www.apache.org">The Apache Software Foundation</a>.
Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
<br>
Apache and the Apache Feather logo are trademarks of The Apache Software Foundation.
</div>
</div>
</div>
</footer> <!-- GLOBAL FOOTER-->
<script src="assets/js/bundle.min.js"></script>
</body>
</html>