High Performance CPUs : running some tests on IBM Power 9
In partnership with IBM, ANEO has started to run some tests on IBM high performance CPUs, the Power 9 systems. The Power architecture (especially Power 9 processor) is optimized for high memory bandwidth; and better performance for applications that require frequent data access. Memory bandwidth is a technical feature that is not very emphasized in hardware specifications. Yet it is often the main performance bottleneck in today’s applications.
One of the codes that have been ported on Power is SeWaS (Seismic Wave Simulator), a modern and optimized simulation software developed by ANEO.
Difficulty of porting
The Power architecture uses a specific CPU instruction set, which requires recompiling applications and their dependencies. IBM claims, however, that « 95% of Linux x86 applications written in C/C++ are ported on Power without having to change the source code. »
In our case with SeWaS the porting was surprisingly easy. We simply ran the exact same installation script that we usually run on Intel processors . Everything worked as expected, making transparent that it was being compiled for a different architecture.
In particular, IBM provides a free software suite named Advance Toolchain, containing most of the common HPC libraries optimized for Power (Boost,…) as well as the GCC 7 compiler; which proved very convenient.
Performance of IBM High Performance CPUs
The benchmark was done on virtual machines provided by IBM with only 2 physical cores. This is not a very representative sample of performance. Though, performance measured on these 2 cores is very promising. It is clear at least that the application was correctly optimized for the Power architecture; even though a very generic installation script was used.
Optimizations / future developments
We will be doing further benchmarks and test on Power in the future, especially on systems with Power 9 + NVidia GPUs. With this high performance CPUs, a much greater performance difference is to expect (usually 5 or 10 times better performance compared to regular CPU machines).
One of the main advantages of Power9 is enhanced support of accelerators (FPGA, NVidia GPUs), with technologies such as CAPI and NVlink for higher bandwidth, from which seismical applications benefit a lot.