![Lead Image Photo by Michal Kmet on Unsplash Lead Image Photo by Michal Kmet on Unsplash](/var/ezflow_site/storage/images/archive/2018/43/selecting-compilers-for-a-supercomputer/photobymichalkmetonunsplash.png/148467-1-eng-US/PhotobyMichalKmetonUnsplash.png_medium.png)
Lead Image Photo by Michal Kmet on Unsplash
Selecting compilers for a supercomputer
The Lay of the Land
The vast majority of CPU cycles that HPC systems at the Leibniz Supercomputing Center (LRZ) [1] run in the course of daily calculations involves highly optimized binary code. The underlying source code is written and compiled in one of three classic HPC languages: Fortran [2], C++ [3], or C [4].
Why these languages? Because they have enabled generation of very efficient code for a long time. Figure 1 shows statistics for languages used on the SuperMUC [5] system in the first half of 2017 (see the box titled "SuperMUC"). Column lengths in the figure are proportional to the number of CPU cycles used by the projects. Because many projects use a mixture of languages (only 32 percent of all cycles belong to projects that use only one language), these mixtures are represented as separate categories. Fortran is involved in about 72 percent of all allocated project resources, while C++ and C have shares of 54 and 41 percent, respectively.
SuperMUC
SuperMUC is a high-performance computer in the Leibniz Computing Center at the Bavarian Academy of Sciences and Humanities in Garching, near Munich, Germany. The computer, built by IBM at a cost of around EUR135 million, has 19 compute islands with approximately 8,200 cores each, and six newer islands with 14,300 cores each. It achieves a speed of around 6 petaFLOPS (10^15 floating-point operations per second). In total, almost 500TB of main memory and nearly 20PB of external memory are available for data.
In addition to high computing power, SuperMUC also displays impressive energy efficiency:
Buy this article as PDF
(incl. VAT)