Summary of Current Features
-
Solution of dense systems of linear equations and least square problems in real space and complex space using single precision and double precision via the Cholesky, LU, QR and LQ factorizations
-
Solution of dense linear systems of equations in real space and complex space using the mixed-precision algorithm based on the Cholesky, LU, QR and LQ factorizations
-
Generation and application of the Q matrix resulting from the QR and LQ factorizations
-
Tree-based QR factorization and Q matrix generation (“tall and skinny”)
-
Explicit matrix inversion based on Cholesky factorization (symmetric positive definite)
-
Parallel and cache-efficient in-place layout translations (Gustavson et at.)
-
Complete set of Level 3 BLAS routines for matrices stored in tile layout
-
Simple LAPACK-like interface for greater productivity and advanced (tile) interface for full control and maximum performance; Routines for conversion between LAPACK matrix layout and PLASMA’s tile layout
-
Dynamic scheduler QUARK (QUeuing And Runtime for Kernels) and dynamically scheduled versions of all computational routines (alongside statically scheduled ones)
-
Asynchronous interface for launching dynamically scheduled routines in a non-blocking mode. Sequence and request constructs for controlling progress and checking errors
-
Automatic handling of workspace allocation whenever possible; A set of auxiliary functions to assist the user with workspace allocation, where necessary
-
A simple set of "sanity" tests for all numerical routines including Level 3 BLAS routines for matrices in tile layout
-
An advanced testing suite for exhaustive numerical testing of all the routines included in the package in all precisions (based on the testing suite of the LAPACK library)
-
Basic timing code for the solution of linear systems and least square problems using Cholesky, LU, QR and LQ factorizations in all precisions for input matrices in LAPACK layout and in tile layout
-
Thread safety
-
Support for Make and CMake build systems
-
LAPACK-style comments in the source code using the Doxygen system
-
Native support for Microsoft Windows using WinThreads through a thin OS interaction layer
-
Installer capable of downloading from Netlib and installing missing components of PLASMA’s software stack (BLAS, CBLAS, LAPACK, LAPACK C Wrapper)
-
Extensive documentation including Installation Guide, Users' Guide, Reference Manual and an HTML code browser, a guide on running PLASMA with the TAU package, Contributors' Guide, a README and Release Notes.
-
A comprehensive set of usage examples
New Features by Release
2.3.1, November 30th, 2010
-
Add functions to generate random matrices (plrnt, plghe and plgsy) ⇒ fix the problem with time_zpotri_tile.c reported by Katayama on the forum (http://icl.cs.utk.edu/plasma/forum/viewtopic.php?f=2&t=59)
-
Fix a dead lock in norm computations with static scheduling
-
Installer: fix the LAPACK version when libtmg is the only library to be install Thanks to Henc. (http://icl.cs.utk.edu/plasma/forum/viewtopic.php?f=2&t=60)
2.3.0, November 15th, 2010
-
Parallel and cache-efficient in-place layout translations (Gustavson et al.)
-
Tree-based QR factorization and Q matrix generation (“tall and skinny”)
-
Explicit matrix inversion based on Cholesky factorization (symmetric positive definite)
-
Replacement of LAPACK C Wrapper with LAPACKE C API by Intel
2.2.0, July 9th, 2010
-
Dynamic scheduler QUARK (QUeuing And Runtime for Kernels) and dynamically scheduled versions of all computational routines (alongside statically scheduled ones)
-
Asynchronous interface for launching dynamically scheduled routines in a non-blocking mode. Sequence and request constructs for controlling progress and checking errors
-
Removal of CBLAS and pieces of LAPACK from PLASMA’s source tree. BLAS, CBLAS, LAPACK and Netlib LAPACK C Wrapper become PLASMA’s software dependencies required prior to the installation of PLASMA
-
Installer capable of downloading from Netlib and installing missing components of PLASMA’s software stack (BLAS, CBLAS, LAPACK, LAPACK C Wrapper)
-
Complete set of Level 3 BLAS routines for matrices stored in tile layout
2.1.0, November 15th, 2009
-
Native support for Microsoft Windows using WinThreads
-
Support for Make and CMake build systems
-
Performance-optimized mixed-precision routine for the solution of linear systems of equations using the LU factorization
-
Initial timing code (PLASMA_dgesv only)
-
Release notes
2.0.0, July 4th, 2008
-
Support for real and complex arithmetic in single and double precision
-
Generation and application of the Q matrix from the QR and LQ factorizations
-
Prototype of mixed-precision routine for the solution of linear systems of equations using the LU factorization (not optimized for performance)
-
Simple interface and native interface
-
Major code cleanup and restructuring
-
Redesigned workspace allocation
-
LAPACK testing
-
Examples
-
Thread safety
-
Python installer
-
Documentation: Installation Guide, Users' Guide with routine reference and an HTML code browser, a guide on running PLASMA with the TAU package, initial draft of Contributors' Guide, a README file and a LICENSE file
1.0.0, November 15th, 2008
-
Double precision routines for the solution of linear systems of equations and least square problems using Cholesky, LU, QR and LQ factorizations