HPC² - A fully-portable, algebra-based framework for heterogeneous computing. Application to CFD
Rights accessOpen Access
The variety of computing architectures competing in the exascale race makes the portability of codes of major importance. In this work, the HPC2 code is presented as a fully-portable, algebra-based framework suitable for heterogeneous computing. In its application to CFD, the algorithm of the time-integration phase relies on a reduced set of only three algebraic operations: the sparse matrix-vector product, the linear combination of vectors and the dot product. This algebraic approach combined with a multilevel MPI+OpenMP+OpenCL parallelization naturally provides portability. The performance has been studied on different architectures including multicore CPUs, Intel Xeon Phi accelerators and GPUs of AMD and NVIDIA. The multi-GPU scalability is demonstrated up to 256 devices. The heterogeneous execution is tested on a CPU+GPU hybrid cluster. Finally, results of the direct numerical simulation of a turbulent flow in a 3D air-filled differentially heated cavity are presented to show the capabilities of the HPC2 dealing with large-scale CFD simulations.
CitationAlvarez, X., Gorobets, A., Trias, F. X., Borrell, R., Oyarzun, G. HPC² - A fully-portable, algebra-based framework for heterogeneous computing. Application to CFD. "Computers and fluids", Setembre 2018, vol. 173, p. 285-292.