We are pleased to inform you about a major release of the PaRSEC/DPLASMA software. This release brings many changes to the runtime, and present a step forward toward the completion of the DPLASMA layer.
At the runtime level many existing features have been stabilized and optimized. A non-exhaustive list contains: collective data flow support, implicit broadcast management, memory usage, accelerator support, minimize data transfers to and from accelerators, improved NUMA awareness, smarter schedulers, smarter messaging layer supporting message aggregation and eager protocols. In addition to these capabilities the current release bring a more efficient runtime, able to deliver more performance to the DPLASMA library.
The content of DPLASMA expanded and stabilized. It now supports in all 4 precisions (S, D, C and Z) the following features:
- All BLAS3 (GPU support included in gemm)
- BLAS2: gerc, geru, gemv
- Max, One, Inf and Frobenius norms in all four lange, lanhe, lansy and lantr routines
- Extra functions: geadd, lacpy, laset, laswp, print, a large selection of special matrix generators (from the Matlab gallery), and generalized operator mapping capabilities (map and map2)
- Cholesky: potrf (GPU support), potrs, posv
- LQ/QR: Factorization + solve + Q generation in all 3 following variants
- Original tile-algo (ideal for square matrices if super-tiling is used to reduce communication volume)
- Hierarchical with multi-level. This is expected to deliver the best results when correctly configured. Some defaults have been implemented so anyone who is able to read the comments should be able to run at decent efficiently.
- Systolic 1, 2 or 3D. Proof of concept, to be used cautiously.
- LU: Factorization + solve
- No pivoting: To use only if diagonal dominant matrices
- LU incremental pivoting: same remarks as Tile-QR, needs super-tiling to be efficient, but accuracy is poor.
- LU partial pivoting exploiting recursive parallel kernel to perform panel factorization. Requires the data to be distributed in a ScaLAPACK block column-cyclic distribution (P = 1) format.
- Hybrid LU-QR: this version is available but not fully detailed and not user-friendly at all.
Please visit http://icl.cs.utk.edu/parsec/software/index.html for access to the code and also for more information.