HPC² - A fully-portable, algebra-based framework for heterogeneous computing. Application to CFD
Rights accessRestricted access - publisher's policy (embargoed until 2020-03-01)
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.