The book High Performance Parallelism Pearls by Reinders and Jeffers (Intel) has been published by Elsevier. The book contains many examples of programming techniques proven successful on the Intel Xeon Phi. From our lab, Albert-Jan Yzelman, Dirk Roose, and Karl Meerbergen have contributed with a chapter on “Sparse matrix-vector multiplication: parallelization and vectorization”. A review is found on techenablement.com:
The chapter authors (Albert-Jan N. Yzelman, Dirk Roose, and Karl Meerbergen) note that, “Current hardware trends lead to an increasing width of vector units as well as to decreasing effective bandwidth-per-core. For sparse computations these two trends conflict.” For this reason they designed a usable and efficient data structure for vectorized sparse computations on multi-core architectures with vector processing capabilities – like Intel Xeon Phi. This data structures helps with the difficulties in achieving a high performance for sparse matrix–vector (SpMV) multiplications caused by a low flop-to-byte ratio and inefficient cache use.
The corresponding software has been released in version 1.6 of the Sparse Library. The most important new features in this version are:
- public release of the vectorised BICRS sparse matrix format, which allows for state-of-the-art high performance sparse matrix operations on the Intel Xeon Phi;
- added support for multiple right hand side sparse matrix—vector multiplications, i.e., Z=AX or Z=XA, with Z and X tall skinny matrices of width k (for small k).
A detailed list of changes in the Sparse Library software is found on http://people.cs.kuleuven.be/~albert-jan.yzelman/software/SL_changelog.txt
The software can be downloaded from http://albert-jan.yzelman.net/software/#SL
- Invited talk on elPrep at the (IB)² Seminar on March 20, 2015
- New results and software on HPC sparse computation published
- Videos from the “High Performance Computing (HPC) for Life Sciences” event now available
- Jörg Kurt Wegner (Johnson & Johnson) giving closing keynote at EuroQSAR 2014
- Tutorial on GASPI, the PGAS API