The installation of the LOEWE-CSC (http://csc.uni-frankfurt.de/csc/?51) supercomputer at the Goethe University in Frankfurt lead to the development of a Linpack which can fully utilize the installed AMD Cypress GPUs. At its core, a fast DGEMM for combined GPU and CPU usage was created. The DGEMM library is tuned to hide all DMA transfer times and thus maximize the GPU load. A work stealing scheduler was implemented to add the remaining CPU resources to the DGEMM. On the GPU, the DGEMM achieves 497 GFlop/s (90.9% of the theoretical peak). Combined with the 24-core Magny-Cours CPUs, 623 GFlop/s (83.6% of the peak) are achieved.The HPL (http://www.netlib.org/benchmark/hpl/algorithm.html) benchmark was modified to perform well with one MPI-process per node. The modifications include multi-threading, vectorization, use of the GPU DGEMM, cache optimizations, and a new Lookahead algorithm. A Linpack performance of 70% theoretical peak is achieved and this performance scales linearly to hundreds of nodes.
[1]
G. Amdhal,et al.
Validity of the single processor approach to achieving large scale computing capabilities
,
1967,
AFIPS '67 (Spring).
[2]
James Demmel,et al.
Benchmarking GPUs to tune dense linear algebra
,
2008,
HiPC 2008.
[3]
Naohito Nakasato,et al.
A fast GEMM implementation on the cypress GPU
,
2011,
PERV.
[4]
James Demmel,et al.
Benchmarking GPUs to tune dense linear algebra
,
2008,
2008 SC - International Conference for High Performance Computing, Networking, Storage and Analysis.
[5]
Ulrich Drepper,et al.
What Every Programmer Should Know About Memory
,
2007
.