|
The team of Jack Dongarra developed also developed the LINPACK library that is used in the TOP500. According Jack Dongarra major fundamental mathematical library software development follows the hardware in 10-year cycles:
- LINPACK (70's) implemented Vector operations;
- LAPACK (80's) used blocking and was cache friendly;
- ScaLAPACK (90's) was optimzied to use Distributed Memory;
- PLASMA (00s) will implement new algorithm and is many-core friendly.
To program for an abstract multicore system requires two important characteristics: fine granularity and asynchronicity. fine granuarity is necessary, because cores are relatively small in for instance memory and interconnect. Hence big chunks of the programme do not fit a single core. Moving to much data around between the core. This fine granularity needs to be taken care of. With many cores computing many small threats running in parallel, algorithms with synchronisation points do not seem to be a good idea. To many of the cores will run idle preceding the synchronisation. Hence asynchronicity needs to build into the algorithms.
Jack Dongarra sees that the last decade an enormous amount of funding is put into hardware. However, to efficiently use this hardware the funding needs to be leverage by funding is software optimized to run on this hardware. Especially because return on investment on software is much better.
More information on the PLASMA website .
|