<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
<meta name="generator" content="AsciiDoc 10.1.1" />
<title>ScaLAPACK&#8201;&#8212;&#8201;Scalable Linear Algebra PACKage</title>
<style type="text/css">
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */

/* Default font. */
body {
  font-family: Georgia,serif;
}

/* Title font. */
h1, h2, h3, h4, h5, h6,
div.title, caption.title,
thead, p.table.header,
#toctitle,
#author, #revnumber, #revdate, #revremark,
#footer {
  font-family: Arial,Helvetica,sans-serif;
}

body {
  margin: 1em 5% 1em 5%;
}

a {
  color: blue;
  text-decoration: underline;
}
a:visited {
  color: fuchsia;
}

em {
  font-style: italic;
  color: navy;
}

strong {
  font-weight: bold;
  color: #083194;
}

h1, h2, h3, h4, h5, h6 {
  color: #527bbd;
  margin-top: 1.2em;
  margin-bottom: 0.5em;
  line-height: 1.3;
}

h1, h2, h3 {
  border-bottom: 2px solid silver;
}
h2 {
  padding-top: 0.5em;
}
h3 {
  float: left;
}
h3 + * {
  clear: left;
}
h5 {
  font-size: 1.0em;
}

div.sectionbody {
  margin-left: 0;
}

hr {
  border: 1px solid silver;
}

p {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

ul, ol, li > p {
  margin-top: 0;
}
ul > li     { color: #aaa; }
ul > li > * { color: black; }

.monospaced, code, pre {
  font-family: "Courier New", Courier, monospace;
  font-size: inherit;
  color: navy;
  padding: 0;
  margin: 0;
}
pre {
  white-space: pre-wrap;
}

#author {
  color: #527bbd;
  font-weight: bold;
  font-size: 1.1em;
}
#email {
}
#revnumber, #revdate, #revremark {
}

#footer {
  font-size: small;
  border-top: 2px solid silver;
  padding-top: 0.5em;
  margin-top: 4.0em;
}
#footer-text {
  float: left;
  padding-bottom: 0.5em;
}
#footer-badges {
  float: right;
  padding-bottom: 0.5em;
}

#preamble {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
div.imageblock, div.exampleblock, div.verseblock,
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
div.admonitionblock {
  margin-top: 1.0em;
  margin-bottom: 1.5em;
}
div.admonitionblock {
  margin-top: 2.0em;
  margin-bottom: 2.0em;
  margin-right: 10%;
  color: #606060;
}

div.content { /* Block element content. */
  padding: 0;
}

/* Block element titles. */
div.title, caption.title {
  color: #527bbd;
  font-weight: bold;
  text-align: left;
  margin-top: 1.0em;
  margin-bottom: 0.5em;
}
div.title + * {
  margin-top: 0;
}

td div.title:first-child {
  margin-top: 0.0em;
}
div.content div.title:first-child {
  margin-top: 0.0em;
}
div.content + div.title {
  margin-top: 0.0em;
}

div.sidebarblock > div.content {
  background: #ffffee;
  border: 1px solid #dddddd;
  border-left: 4px solid #f0f0f0;
  padding: 0.5em;
}

div.listingblock > div.content {
  border: 1px solid #dddddd;
  border-left: 5px solid #f0f0f0;
  background: #f8f8f8;
  padding: 0.5em;
}

div.quoteblock, div.verseblock {
  padding-left: 1.0em;
  margin-left: 1.0em;
  margin-right: 10%;
  border-left: 5px solid #f0f0f0;
  color: #888;
}

div.quoteblock > div.attribution {
  padding-top: 0.5em;
  text-align: right;
}

div.verseblock > pre.content {
  font-family: inherit;
  font-size: inherit;
}
div.verseblock > div.attribution {
  padding-top: 0.75em;
  text-align: left;
}
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
div.verseblock + div.attribution {
  text-align: left;
}

div.admonitionblock .icon {
  vertical-align: top;
  font-size: 1.1em;
  font-weight: bold;
  text-decoration: underline;
  color: #527bbd;
  padding-right: 0.5em;
}
div.admonitionblock td.content {
  padding-left: 0.5em;
  border-left: 3px solid #dddddd;
}

div.exampleblock > div.content {
  border-left: 3px solid #dddddd;
  padding-left: 0.5em;
}

div.imageblock div.content { padding-left: 0; }
span.image img { border-style: none; vertical-align: text-bottom; }
a.image:visited { color: white; }

dl {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
dt {
  margin-top: 0.5em;
  margin-bottom: 0;
  font-style: normal;
  color: navy;
}
dd > *:first-child {
  margin-top: 0.1em;
}

ul, ol {
    list-style-position: outside;
}
ol.arabic {
  list-style-type: decimal;
}
ol.loweralpha {
  list-style-type: lower-alpha;
}
ol.upperalpha {
  list-style-type: upper-alpha;
}
ol.lowerroman {
  list-style-type: lower-roman;
}
ol.upperroman {
  list-style-type: upper-roman;
}

div.compact ul, div.compact ol,
div.compact p, div.compact p,
div.compact div, div.compact div {
  margin-top: 0.1em;
  margin-bottom: 0.1em;
}

tfoot {
  font-weight: bold;
}
td > div.verse {
  white-space: pre;
}

div.hdlist {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
div.hdlist tr {
  padding-bottom: 15px;
}
dt.hdlist1.strong, td.hdlist1.strong {
  font-weight: bold;
}
td.hdlist1 {
  vertical-align: top;
  font-style: normal;
  padding-right: 0.8em;
  color: navy;
}
td.hdlist2 {
  vertical-align: top;
}
div.hdlist.compact tr {
  margin: 0;
  padding-bottom: 0;
}

.comment {
  background: yellow;
}

.footnote, .footnoteref {
  font-size: 0.8em;
}

span.footnote, span.footnoteref {
  vertical-align: super;
}

#footnotes {
  margin: 20px 0 20px 0;
  padding: 7px 0 0 0;
}

#footnotes div.footnote {
  margin: 0 0 5px 0;
}

#footnotes hr {
  border: none;
  border-top: 1px solid silver;
  height: 1px;
  text-align: left;
  margin-left: 0;
  width: 20%;
  min-width: 100px;
}

div.colist td {
  padding-right: 0.5em;
  padding-bottom: 0.3em;
  vertical-align: top;
}
div.colist td img {
  margin-top: 0.3em;
}

@media print {
  #footer-badges { display: none; }
}

#toc {
  margin-bottom: 2.5em;
}

#toctitle {
  color: #527bbd;
  font-size: 1.1em;
  font-weight: bold;
  margin-top: 1.0em;
  margin-bottom: 0.1em;
}

div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
  margin-top: 0;
  margin-bottom: 0;
}
div.toclevel2 {
  margin-left: 2em;
  font-size: 0.9em;
}
div.toclevel3 {
  margin-left: 4em;
  font-size: 0.9em;
}
div.toclevel4 {
  margin-left: 6em;
  font-size: 0.9em;
}

span.aqua { color: aqua; }
span.black { color: black; }
span.blue { color: blue; }
span.fuchsia { color: fuchsia; }
span.gray { color: gray; }
span.green { color: green; }
span.lime { color: lime; }
span.maroon { color: maroon; }
span.navy { color: navy; }
span.olive { color: olive; }
span.purple { color: purple; }
span.red { color: red; }
span.silver { color: silver; }
span.teal { color: teal; }
span.white { color: white; }
span.yellow { color: yellow; }

span.aqua-background { background: aqua; }
span.black-background { background: black; }
span.blue-background { background: blue; }
span.fuchsia-background { background: fuchsia; }
span.gray-background { background: gray; }
span.green-background { background: green; }
span.lime-background { background: lime; }
span.maroon-background { background: maroon; }
span.navy-background { background: navy; }
span.olive-background { background: olive; }
span.purple-background { background: purple; }
span.red-background { background: red; }
span.silver-background { background: silver; }
span.teal-background { background: teal; }
span.white-background { background: white; }
span.yellow-background { background: yellow; }

span.big { font-size: 2em; }
span.small { font-size: 0.6em; }

span.underline { text-decoration: underline; }
span.overline { text-decoration: overline; }
span.line-through { text-decoration: line-through; }

div.unbreakable { page-break-inside: avoid; }


/*
 * xhtml11 specific
 *
 * */

div.tableblock {
  margin-top: 1.0em;
  margin-bottom: 1.5em;
}
div.tableblock > table {
  border: 3px solid #527bbd;
}
thead, p.table.header {
  font-weight: bold;
  color: #527bbd;
}
p.table {
  margin-top: 0;
}
/* Because the table frame attribute is overridden by CSS in most browsers. */
div.tableblock > table[frame="void"] {
  border-style: none;
}
div.tableblock > table[frame="hsides"] {
  border-left-style: none;
  border-right-style: none;
}
div.tableblock > table[frame="vsides"] {
  border-top-style: none;
  border-bottom-style: none;
}


/*
 * html5 specific
 *
 * */

table.tableblock {
  margin-top: 1.0em;
  margin-bottom: 1.5em;
}
thead, p.tableblock.header {
  font-weight: bold;
  color: #527bbd;
}
p.tableblock {
  margin-top: 0;
}
table.tableblock {
  border-width: 3px;
  border-spacing: 0px;
  border-style: solid;
  border-color: #527bbd;
  border-collapse: collapse;
}
th.tableblock, td.tableblock {
  border-width: 1px;
  padding: 4px;
  border-style: solid;
  border-color: #527bbd;
}

table.tableblock.frame-topbot {
  border-left-style: hidden;
  border-right-style: hidden;
}
table.tableblock.frame-sides {
  border-top-style: hidden;
  border-bottom-style: hidden;
}
table.tableblock.frame-none {
  border-style: hidden;
}

th.tableblock.halign-left, td.tableblock.halign-left {
  text-align: left;
}
th.tableblock.halign-center, td.tableblock.halign-center {
  text-align: center;
}
th.tableblock.halign-right, td.tableblock.halign-right {
  text-align: right;
}

th.tableblock.valign-top, td.tableblock.valign-top {
  vertical-align: top;
}
th.tableblock.valign-middle, td.tableblock.valign-middle {
  vertical-align: middle;
}
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
  vertical-align: bottom;
}


/*
 * manpage specific
 *
 * */

body.manpage h1 {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  border-top: 2px solid silver;
  border-bottom: 2px solid silver;
}
body.manpage h2 {
  border-style: none;
}
body.manpage div.sectionbody {
  margin-left: 3em;
}

@media print {
  body.manpage div#toc { display: none; }
}


</style>
<script type="text/javascript">
/*<![CDATA[*/
var asciidoc = {  // Namespace.

/////////////////////////////////////////////////////////////////////
// Table Of Contents generator
/////////////////////////////////////////////////////////////////////

/* Author: Mihai Bazon, September 2002
 * http://students.infoiasi.ro/~mishoo
 *
 * Table Of Content generator
 * Version: 0.4
 *
 * Feel free to use this script under the terms of the GNU General Public
 * License, as long as you do not remove or alter this notice.
 */

 /* modified by Troy D. Hanson, September 2006. License: GPL */
 /* modified by Stuart Rackham, 2006, 2009. License: GPL */

// toclevels = 1..4.
toc: function (toclevels) {

  function getText(el) {
    var text = "";
    for (var i = el.firstChild; i != null; i = i.nextSibling) {
      if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
        text += i.data;
      else if (i.firstChild != null)
        text += getText(i);
    }
    return text;
  }

  function TocEntry(el, text, toclevel) {
    this.element = el;
    this.text = text;
    this.toclevel = toclevel;
  }

  function tocEntries(el, toclevels) {
    var result = new Array;
    var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
    // Function that scans the DOM tree for header elements (the DOM2
    // nodeIterator API would be a better technique but not supported by all
    // browsers).
    var iterate = function (el) {
      for (var i = el.firstChild; i != null; i = i.nextSibling) {
        if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
          var mo = re.exec(i.tagName);
          if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
            result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
          }
          iterate(i);
        }
      }
    }
    iterate(el);
    return result;
  }

  var toc = document.getElementById("toc");
  if (!toc) {
    return;
  }

  // Delete existing TOC entries in case we're reloading the TOC.
  var tocEntriesToRemove = [];
  var i;
  for (i = 0; i < toc.childNodes.length; i++) {
    var entry = toc.childNodes[i];
    if (entry.nodeName.toLowerCase() == 'div'
     && entry.getAttribute("class")
     && entry.getAttribute("class").match(/^toclevel/))
      tocEntriesToRemove.push(entry);
  }
  for (i = 0; i < tocEntriesToRemove.length; i++) {
    toc.removeChild(tocEntriesToRemove[i]);
  }

  // Rebuild TOC entries.
  var entries = tocEntries(document.getElementById("content"), toclevels);
  for (var i = 0; i < entries.length; ++i) {
    var entry = entries[i];
    if (entry.element.id == "")
      entry.element.id = "_toc_" + i;
    var a = document.createElement("a");
    a.href = "#" + entry.element.id;
    a.appendChild(document.createTextNode(entry.text));
    var div = document.createElement("div");
    div.appendChild(a);
    div.className = "toclevel" + entry.toclevel;
    toc.appendChild(div);
  }
  if (entries.length == 0)
    toc.parentNode.removeChild(toc);
},


/////////////////////////////////////////////////////////////////////
// Footnotes generator
/////////////////////////////////////////////////////////////////////

/* Based on footnote generation code from:
 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
 */

footnotes: function () {
  // Delete existing footnote entries in case we're reloading the footnodes.
  var i;
  var noteholder = document.getElementById("footnotes");
  if (!noteholder) {
    return;
  }
  var entriesToRemove = [];
  for (i = 0; i < noteholder.childNodes.length; i++) {
    var entry = noteholder.childNodes[i];
    if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
      entriesToRemove.push(entry);
  }
  for (i = 0; i < entriesToRemove.length; i++) {
    noteholder.removeChild(entriesToRemove[i]);
  }

  // Rebuild footnote entries.
  var cont = document.getElementById("content");
  var spans = cont.getElementsByTagName("span");
  var refs = {};
  var n = 0;
  for (i=0; i<spans.length; i++) {
    if (spans[i].className == "footnote") {
      n++;
      var note = spans[i].getAttribute("data-note");
      if (!note) {
        // Use [\s\S] in place of . so multi-line matches work.
        // Because JavaScript has no s (dotall) regex flag.
        note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
        spans[i].innerHTML =
          "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
          "' title='View footnote' class='footnote'>" + n + "</a>]";
        spans[i].setAttribute("data-note", note);
      }
      noteholder.innerHTML +=
        "<div class='footnote' id='_footnote_" + n + "'>" +
        "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
        n + "</a>. " + note + "</div>";
      var id =spans[i].getAttribute("id");
      if (id != null) refs["#"+id] = n;
    }
  }
  if (n == 0)
    noteholder.parentNode.removeChild(noteholder);
  else {
    // Process footnoterefs.
    for (i=0; i<spans.length; i++) {
      if (spans[i].className == "footnoteref") {
        var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
        href = href.match(/#.*/)[0];  // Because IE return full URL.
        n = refs[href];
        spans[i].innerHTML =
          "[<a href='#_footnote_" + n +
          "' title='View footnote' class='footnote'>" + n + "</a>]";
      }
    }
  }
},

install: function(toclevels) {
  var timerId;

  function reinstall() {
    asciidoc.footnotes();
    if (toclevels) {
      asciidoc.toc(toclevels);
    }
  }

  function reinstallAndRemoveTimer() {
    clearInterval(timerId);
    reinstall();
  }

  timerId = setInterval(reinstall, 500);
  if (document.addEventListener)
    document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
  else
    window.onload = reinstallAndRemoveTimer;
}

}
asciidoc.install(2);
/*]]>*/
</script>
</head>
<body class="article">
<div id="header">
<h1>ScaLAPACK&#8201;&#8212;&#8201;Scalable Linear Algebra PACKage</h1>
<div id="toc">
  <div id="toctitle">Menu</div>
  <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
</div>
</div>
<div id="content">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph"><p>ScaLAPACK is a software package provided by Univ. of Tennessee; Univ. of California, Berkeley; Univ. of Colorado Denver; and NAG Ltd..</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_quick_links">Quick links</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
latest release:           <a href="https://github.com/Reference-ScaLAPACK/scalapack/archive/v2.2.2.tar.gz">scalapack-2.2.2.tar.gz</a>
</p>
</li>
<li>
<p>
GitHub repository:        <a href="https://github.com/Reference-ScaLAPACK/scalapack/">ScaLAPACK on Github</a>
</p>
</li>
<li>
<p>
LAPACK Users' Forum archive:      <a href="http://icl.cs.utk.edu/lapack-forum">http://icl.cs.utk.edu/lapack-forum</a>
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_presentation">Presentation</h2>
<div class="sectionbody">
<div class="paragraph"><p><strong>ScaLAPACK</strong> is a library of high-performance linear algebra routines for parallel distributed memory machines.
ScaLAPACK solves dense and banded linear systems, least squares problems, eigenvalue problems, and singular value problems.
The key ideas incorporated into ScaLAPACK include the use of</p></div>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
a <strong>block cyclic data distribution</strong> for dense matrices and a block data distribution for banded matrices, parametrizable at runtime;
</p>
</li>
<li>
<p>
<strong>block-partitioned algorithms</strong> to ensure high levels of data reuse;
</p>
</li>
<li>
<p>
well-designed <strong>low-level modular components</strong> that simplify the task of parallelizing the high level routines by making their <strong>source code the same as in the sequential case</strong>.
</p>
</li>
</ol></div>
<div class="paragraph"><p>The goals of the ScaLAPACK project are the same than the one&#8217;s of LAPACK, namely:</p></div>
<div class="ulist"><ul>
<li>
<p>
<strong>efficiency</strong> (to run as fast as possible),
</p>
</li>
<li>
<p>
<strong>scalability</strong>  (as the problem size and number of processors grow),
</p>
</li>
<li>
<p>
<strong>reliability</strong>  (including error bounds),
</p>
</li>
<li>
<p>
<strong>portability</strong>  (across all important parallel machines),
</p>
</li>
<li>
<p>
<strong>flexibility</strong> (so users can construct new routines from well-designed parts),
</p>
</li>
<li>
<p>
and <strong>ease of use</strong> (by making the interface to LAPACK and ScaLAPACK look as similar as possible).
</p>
</li>
</ul></div>
<div class="paragraph"><p>Many of these goals, particularly portability, are aided by developing and
promoting standards , especially for low-level communication and computation
routines. We have been successful in attaining these goals, limiting most
machine dependencies to three standard libraries called the BLAS, or Basic
Linear Algebra Subprograms, LAPACK and BLACS, or Basic Linear Algebra
Communication Subprograms.  LAPACK will run on any machine where the BLAS are
available, and ScaLAPACK will run on any machine where BLAS, LAPACK and the
BLACS are available.</p></div>
<div class="paragraph"><p>The library is currently written in Fortran (with the exception of a few
symmetric eigenproblem auxiliary routines written in C).  The name ScaLAPACK is
an acronym for Scalable Linear Algebra PACKage, or Scalable LAPACK.  The most
recent version of ScaLAPACK is 2.1.0.0, released in November 16, 2019.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_acknowledgments">Acknowledgments</h2>
<div class="sectionbody">
<div class="paragraph"><p>Since 2010, this material is based upon work supported by the
National Science Foundation under Grant No. NSF-OCI-1032861. Any opinions,
findings and conclusions or recommendations expressed in this material are
those of the author(s) and do not necessarily reflect the views of the National
Science Foundation (NSF). Until 2006, this material was based upon work
supported by the National Science Foundation under Grant No. ASC-9313958,
NSF-0444486 and DOE Grant No. DE-FG03-94ER25219. Any opinions, findings and
conclusions or recommendations expressed in this material are those of the
author(s) and do not necessarily reflect the views of the National Science
Foundation (NSF) or the Department of Energy (DOE).</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_software">Software</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="_licensing">Licensing</h3>
<div class="paragraph"><p>ScaLAPACK is a freely-available software package. It is available from netlib via
anonymous ftp and the World Wide Web at <a href="http://www.netlib.org/scalapack">http://www.netlib.org/scalapack</a> . Thus, it
can be included in commercial software packages (and has been). We only ask
that proper credit be given to the authors.</p></div>
<div class="paragraph"><p>The license used for the software is the modified BSD license, see:</p></div>
<div class="ulist"><ul>
<li>
<p>
<a href="LICENSE">LICENSE</a>
</p>
</li>
</ul></div>
<div class="paragraph"><p>Like all software, it is copyrighted. It is not trademarked, but we do ask the
following:</p></div>
<div class="ulist"><ul>
<li>
<p>
If you modify the source for these routines we ask that you change the name of
the routine and comment the changes made to the original.
</p>
</li>
<li>
<p>
We will gladly answer any questions regarding the software. If a modification
is done, however, it is the responsibility of the person who modified the
routine to provide support.
</p>
</li>
</ul></div>
</div>
<div class="sect2">
<h3 id="_scalapack_version_2_2_2">ScaLAPACK, version 2.2.2</h3>
<div class="ulist"><ul>
<li>
<p>
Download: <a href="https://github.com/Reference-ScaLAPACK/scalapack/archive/refs/tags/v2.2.2.tar.gz">scalapack-2.2.2.tgz</a>
</p>
</li>
<li>
<p>
<a href="https://github.com/Reference-ScaLAPACK/scalapack/releases/tag/v2.2.2">release notes for ScaLAPACK 2.2.2</a>
</p>
</li>
<li>
<p>
Updated:  Janary 08, 2025
</p>
</li>
</ul></div>
</div>
<div class="sect2">
<h3 id="_scalapack_version_2_2_0">ScaLAPACK, version 2.2.0</h3>
<div class="ulist"><ul>
<li>
<p>
Download: <a href="https://github.com/Reference-ScaLAPACK/scalapack/archive/refs/tags/v2.2.0.tar.gz">scalapack-2.2.0.tgz</a>
</p>
</li>
<li>
<p>
<a href="https://github.com/Reference-ScaLAPACK/scalapack/releases/tag/v2.2.0">release notes for ScaLAPACK 2.2.0</a>
</p>
</li>
<li>
<p>
Updated:  February 01, 2022
</p>
</li>
</ul></div>
</div>
<div class="sect2">
<h3 id="_scalapack_version_2_1_0">ScaLAPACK, version 2.1.0</h3>
<div class="ulist"><ul>
<li>
<p>
Download: <a href="http://www.netlib.org/scalapack/scalapack-2.1.0.tgz">scalapack-2.1.0.tgz</a>
</p>
</li>
<li>
<p>
<a href="http://netlib.org/scalapack/scalapack-2.1.0.html">release notes for ScaLAPACK 2.1.0</a>
</p>
</li>
<li>
<p>
Updated:  November 16, 2019
</p>
</li>
</ul></div>
</div>
<div class="sect2">
<h3 id="_scalapack_version_2_0_2">ScaLAPACK, version 2.0.2</h3>
<div class="ulist"><ul>
<li>
<p>
Download: <a href="http://www.netlib.org/scalapack/scalapack-2.0.2.tgz">scalapack-2.0.2.tgz</a>
</p>
</li>
<li>
<p>
<a href="http://netlib.org/scalapack/scalapack-2.0.2.html">release notes for ScaLAPACK 2.0.2</a>
</p>
</li>
<li>
<p>
Updated:  May 1, 2012
</p>
</li>
</ul></div>
</div>
<div class="sect2">
<h3 id="_scalapack_version_2_0_1">ScaLAPACK, version 2.0.1</h3>
<div class="exampleblock">
<div class="content">
<div class="ulist"><ul>
<li>
<p>
Download: <a href="http://www.netlib.org/scalapack/scalapack-2.0.1.tgz">scalapack-2.0.1.tgz</a>
</p>
</li>
<li>
<p>
<a href="http://netlib.org/scalapack/scalapack-2.0.1.html">release notes for ScaLAPACK 2.0.1</a>
</p>
</li>
<li>
<p>
Updated:  January 18, 2012
</p>
</li>
</ul></div>
</div></div>
</div>
<div class="sect2">
<h3 id="_scalapack_version_2_0_0">ScaLAPACK, version 2.0.0</h3>
<div class="exampleblock">
<div class="content">
<div class="ulist"><ul>
<li>
<p>
Download: <a href="http://www.netlib.org/scalapack/scalapack-2.0.0.tgz">scalapack-2.0.0.tgz</a>
</p>
</li>
<li>
<p>
<a href="http://netlib.org/scalapack/scalapack-2.0.0.html">release notes for ScaLAPACK 2.0.0</a>
</p>
</li>
<li>
<p>
Updated:  November 11, 2011
</p>
</li>
</ul></div>
</div></div>
</div>
<div class="sect2">
<h3 id="_errata">Errata</h3>
<div class="exampleblock">
<div class="content">
<div class="ulist"><ul>
<li>
<p>
<a href="http://www.netlib.org/lapack/Errata/errata_scalapack.html">ScaLAPACK Errata</a> (Current known bugs and their status)
</p>
</li>
</ul></div>
</div></div>
</div>
<div class="sect2">
<h3 id="_scalapack_installer_for_linux">ScaLAPACK Installer [for Linux]</h3>
<div class="paragraph"><p>Python based installer for ScaLAPACK.
Download, configure, compile  and install all libraries needed for ScaLAPACK (Ref BLAS, LAPACK, BLACS and ScaLAPACK)</p></div>
<div class="exampleblock">
<div class="content">
<div class="ulist"><ul>
<li>
<p>
Download: <a href="http://www.netlib.org/scalapack/scalapack_installer.tgz">scalapack_installer.tgz</a>
</p>
</li>
<li>
<p>
Version:  1.0.4
</p>
</li>
<li>
<p>
Updated:  April 1, 2021
</p>
</li>
<li>
<p>
Documentation: <a href="http://netlib.org/scalapack/scalapack_installer/README">README</a>
</p>
</li>
</ul></div>
</div></div>
</div>
<div class="sect2">
<h3 id="_scalapack_for_windows">ScaLAPACK for Windows</h3>
<div class="paragraph"><p>Please see: <a href="http://icl.utk.edu/lapack-for-windows/scalapack">http://icl.utk.edu/lapack-for-windows/scalapack</a></p></div>
</div>
<div class="sect2">
<h3 id="_github">GitHub</h3>
<div class="paragraph"><p>The ScaLAPACK Git repository is available to get the latest bug fixed or propose fixes (Pull requests)</p></div>
<div class="listingblock">
<div class="content">
<pre><code>https://github.com/Reference-ScaLAPACK/scalapack/</code></pre>
</div></div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_support">Support</h2>
<div class="sectionbody">
<div class="exampleblock">
<div class="content">
<div class="ulist"><ul>
<li>
<p>
<a href="https://github.com/Reference-ScaLAPACK/scalapack/">ScaLAPACK on Github</a>: Browse the ScaLAPACK code and propose improvements
</p>
</li>
<li>
<p>
<a href="http://icl.cs.utk.edu/lapack-forum">Browse the LAPACK/ScaLAPACK User Forum archive</a>
</p>
</li>
<li>
<p>
<a href="https://github.com/Reference-ScaLAPACK/scalapack">Contact the ScaLAPACK team</a><br />
</p>
</li>
</ul></div>
</div></div>
</div>
</div>
<div class="sect1">
<h2 id="_contributors">Contributors</h2>
<div class="sectionbody">
<div class="paragraph"><p>ScaLAPACK is a community-wide effort. ScaLAPACK relies on many contributors.</p></div>
<div class="paragraph"><p>If you are wishing to contribute, please have a look at
<a href="http://www.netlib.org/lapack-dev/lapack-coding/program-style.html">the
LAPACK Program Style</a>. This document has been written to facilitate
contributions to LAPACK/ScaLAPACK by documenting their design and implementation
guidelines. You can submit code directly on github via Pull Requests <a href="https://github.com/Reference-ScaLAPACK/scalapack/">ScaLAPACK on Github</a></p></div>
<div class="paragraph"><p>LAPACK/ScaLAPACK Project Software Grant and Corporate Contributor License Agreement (&#8220;Agreement&#8221;) <a href="http://www.netlib.org/lapack/lapack-corporate-contributor-agrement.doc">[Download</a>]</p></div>
<div class="paragraph"><p>Contributions are always welcome and can be sent to the
<a href="https://github.com/Reference-ScaLAPACK/scalapack">ScaLAPACK team</a>.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_documentation">Documentation</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="_browse_scalapack_routines_with_on_line_documentation_browser">Browse ScaLAPACK routines with on-line documentation browser</h3>
<div class="paragraph"><p><a href="http://www.netlib.org/scalapack/explore-html">Explore ScaLAPACK code</a>
Here you will be able to browse through the many ScaLAPACK functions.</p></div>
</div>
<div class="sect2">
<h3 id="_release_notes">Release Notes</h3>
<div class="paragraph"><p>The ScaLAPACK Release Notes
contain the history of the modifications made to the ScaLAPACK library between
each new version.</p></div>
</div>
<div class="sect2">
<h3 id="_improvements">Improvements</h3>
<div class="paragraph"><p>ScaLAPACK is a currently active project, we are striving to bring new improvements
and new algorithms on a regular basis.</p></div>
<div class="paragraph"><p>Please contribute to our <a href="http://www.netlib.org/lapack/WishList/">wishlist</a>
if you feel some functionality or algorithms are missing by emailing the
<a href="https://github.com/Reference-ScaLAPACK/scalapack">ScaLAPACK team</a>.</p></div>
</div>
<div class="sect2">
<h3 id="_faq">FAQ</h3>
<div class="paragraph"><p>Consult ScaLAPACK <a href="http://www.netlib.org/scalapack/faq.html">Frequently Asked Questions</a>.</p></div>
<div class="paragraph"><p>Please contribute to our FAQ if you feel some questions are missing by emailing the <a href="https://github.com/Reference-ScaLAPACK/scalapack">ScaLAPACK team</a>.</p></div>
<div class="paragraph"></div>
</div>
<div class="sect2">
<h3 id="_users_guide">Users' Guide</h3>
<div class="paragraph"><p><a href="http://netlib.org/scalapack/slug/index.html">HTML version of the ScaLAPACK Users' Guide</a></p></div>
</div>
<div class="sect2">
<h3 id="_lawns_lapack_scalapack_working_notes">LAWNS: LAPACK/ScaLAPACK Working Notes</h3>
<div class="paragraph"><p><a href="http://www.netlib.org/lapack/lawns/index.html">LAWNS</a></p></div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_release_history">Release History</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
Version 1.0  : February 28, 1995
</p>
</li>
<li>
<p>
Version 1.1  :  March 20, 1995
</p>
</li>
<li>
<p>
Version 1.2  :  May 10, 1996
</p>
</li>
<li>
<p>
Version 1.3  :  June 5, 1996
</p>
</li>
<li>
<p>
Version 1.4  :  November 17, 1996
</p>
</li>
<li>
<p>
Version 1.5  :  May 1, 1997
</p>
</li>
<li>
<p>
Version 1.6  :  November 15, 1997
</p>
</li>
<li>
<p>
Version 1.7  :  August 31, 2001
</p>
</li>
<li>
<p>
Version 1.8.0:  April 5, 2007 (<a href="http://netlib.org/scalapack/scalapack-1.8.0.tgz">scalapack-1.8.0.tgz</a>) (<a href="http://netlib.org/scalapack/scalapack-1.8.0.changes">release notes</a>)
</p>
</li>
<li>
<p>
Version 2.0.0:  November 11, 2011 (<a href="http://netlib.org/scalapack/scalapack-2.0.0.tgz">scalapack-2.0.0.tgz</a>) (<a href="http://netlib.org/scalapack/scalapack-2.0.0.html">release notes</a>)
</p>
</li>
<li>
<p>
Version 2.0.1:  January 18, 2012 (<a href="http://netlib.org/scalapack/scalapack-2.0.1.tgz">scalapack-2.0.1.tgz</a>) (<a href="http://netlib.org/scalapack/scalapack-2.0.1.html">release notes</a>)
</p>
</li>
<li>
<p>
Version 2.0.2:  May 1, 2012 (<a href="http://netlib.org/scalapack/scalapack-2.0.2.tgz">scalapack-2.0.2.tgz</a>) (<a href="http://netlib.org/scalapack/scalapack-2.0.2.html">release notes</a>)
</p>
</li>
<li>
<p>
Version 2.1.0:  November 16, 2019 (<a href="https://github.com/Reference-ScaLAPACK/scalapack/archive/v2.1.0.tar.gz">scalapack-2.1.0.tar.gz</a>) (<a href="http://netlib.org/scalapack/scalapack-2.1.0.html">release notes</a>)
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_related_projects">Related Projects</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="_lapack">LAPACK</h3>
<div class="paragraph"><p><a href="http://www.netlib.org/lapack">LAPACK website</a></p></div>
</div>
<div class="sect2">
<h3 id="_plasma">PLASMA</h3>
<div class="paragraph"><p>The Parallel Linear Algebra for Scalable Multi-core Architectures (PLASMA)
project aims to address the critical and highly disruptive situation that is
facing the Linear Algebra and High Performance Computing community due to the
introduction of multi-core architectures.</p></div>
<div class="paragraph"><p>PLASMA&#8217;s ultimate goal is to create software frameworks that enable programmers
to simplify the process of developing applications that can achieve both high
performance and portability across a range of new architectures.</p></div>
<div class="paragraph"><p>The development of programming models that enforce asynchronous, out of order
scheduling of operations is the concept used as the basis for the definition of
a scalable yet highly efficient software framework for Computational Linear
Algebra applications.</p></div>
<div class="paragraph"><p><a href="http://icl.utk.edu/plasma/">PLASMA website</a></p></div>
</div>
<div class="sect2">
<h3 id="_magma">MAGMA</h3>
<div class="paragraph"><p>The MAGMA (Matrix Algebra on GPU and Multicore Architectures) project aims to
develop a dense linear algebra library similar to LAPACK but for
heterogeneous/hybrid architectures, starting with current &#8220;Multicore+GPU&#8221;
systems.</p></div>
<div class="paragraph"><p>The MAGMA research is based on the idea that, to address the complex challenges
of the emerging hybrid environments, optimal software solutions will themselves
have to hybridize, combining the strengths of different algorithms within a
single framework. Building on this idea, we aim to design linear algebra
algorithms and frameworks for hybrid manycore and GPUs systems that can enable
applications to fully exploit the power that each of the hybrid components
offers.</p></div>
<div class="paragraph"><p><a href="http://icl.utk.edu/magma/">MAGMA website</a></p></div>
</div>
</div>
</div>
</div>
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
Last updated
 2025-01-12 15:31:22 PST
</div>
</div>
</body>
</html>
