<!--

-->
<!--

-->
<!DOCTYPE html>
<html lang="en">
  <!--

-->

<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">

  <title>SystemML 1.2.0 Release Notes</title>
  
  <meta name="description" content="Project Release Notes"> 
  <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="SystemML 1.2.0 Release Notes" />
  <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>
  <!--

-->

<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> 1.2.0 Release Notes</h1>
    </div>
  </div>
</section>

<section class="full-stripe full-stripe--alternate">
  <div class="ml-container">
    <div class="col col-12 content-group content-group--medium-bottom-margin">

      <p>The Apache SystemML 1.2.0 release was approved on Aug. 24th, 2018. The release includes enhancements, features, and additions as listed below.</p>

      <h3 id="new-builtin-functionsoperationsscriptsfeatures">New Builtin Functions/Operations/Scripts/Features</h3>
      <ul>
        <li>Factorization Machines</li>
        <li>Support for functions with default parameters</li>
        <li><code class="language-plaintext highlighter-rouge">exists()</code> for checking of existing variables</li>
        <li>Triangular matrix functions: <code class="language-plaintext highlighter-rouge">lower.tri()</code> and <code class="language-plaintext highlighter-rouge">upper.tri()</code></li>
        <li>New nary min/max operations</li>
        <li><code class="language-plaintext highlighter-rouge">as.matrix()</code> over list of scalars</li>
        <li>Function calls with named function arguments</li>
        <li>Convolution operations (forward/backward)</li>
        <li>Maxpooling operations (forward)</li>
        <li>Support for bias_add and bias_mult</li>
        <li>Global constants</li>
        <li>Added support for rowProd/colProd</li>
        <li>DML eval function</li>
        <li>New data type list for lists and structs</li>
      </ul>

      <h3 id="api">API</h3>
      <ul>
        <li>JMLC API extension for passing multiple dml scripts</li>
      </ul>

      <h3 id="compiler--runtime">Compiler &amp; Runtime</h3>
      <ul>
        <li>Code motion framework</li>
        <li>Global subexpression elimination</li>
        <li>Optional rewrite for hoisting loop-invariant operations</li>
        <li>Improved IPA constant propagation and replacement</li>
        <li>ParFor Data Partitioning Rewrite on Hops instead of Statements</li>
        <li>New rewrites for chains of comparisons</li>
        <li>Extended rewrite framework for codegen plans</li>
        <li>Improved parfor optimizer rewrite for in-place-update</li>
        <li>Rework function block recompilation</li>
        <li>Support rowMeans in codegen row templates</li>
      </ul>

      <h3 id="performance-improvements">Performance Improvements</h3>
      <ul>
        <li>Improved multi-threading of unary aggregates</li>
        <li>Reuse of fair scheduler pools in local parfor workers</li>
        <li>Performance issues Spark ctable(X,Y) w/ large num distinct</li>
        <li>Performance instruction generation</li>
        <li>Performance sample operations</li>
        <li>Performance ultra-sparse block operations</li>
        <li>New native tsmm operator and its integration</li>
        <li>Multi-threaded unary operations (e.g., exp, log, sigmoid)</li>
      </ul>

      <h3 id="bug-fixes">Bug Fixes</h3>
      <ul>
        <li>Memory leak buffer pool due to missing variable cleanup</li>
        <li>Missing buffer pool serialization of compressed matrices</li>
        <li>Compilation failure on inferring size of reshapes w/ zero rows/columns</li>
        <li>Incorrect result for min/max over matrices with NaNs</li>
        <li>Missing support for external functions with variable number of outputs</li>
        <li>Reblock ultra-sparse matrix fails with index out of bounds</li>
        <li>Performance issue CSE on DAGs w/ many root nodes (e.g., resnet200)</li>
        <li>Non-fused bias_add builtin creates incorrect results over sparse inputs</li>
        <li>Inconsistent namespace naming depending on OS</li>
        <li>Codegen failing on three-way multi-aggregate</li>
        <li>Codegen optimizer failing for MLogreg special cases</li>
        <li>Failing matrix market to binary reblock with zero rows/columns</li>
      </ul>

      <h3 id="deprecatedremovedcleanup">Deprecated/Removed/Cleanup</h3>
      <ul>
        <li>Opt level 4</li>
        <li>File-based removeEmpty()</li>
        <li>Cleanup exception handling apis/compiler/runtime</li>
      </ul>

      <h3 id="experimental">Experimental</h3>
      <ul>
        <li>Parameter server: local backend and distributed</li>
        <li>Sparsity estimators</li>
      </ul>

      <h3 id="jira-release-notes"><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12342959&amp;projectId=12319522">JIRA release notes</a></h3>
    </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>

