Portable implementation model for CFD simulations. Application to hybrid CPU/GPU supercomputers

Nowadays, high performance computing (HPC) systems experience a disruptive moment with a variety of novel architectures and frameworks, without any clarity of which one is going to prevail. In this context, the portability of codes across different architectures is of major importance. This paper pr...

Descripción completa

Detalles Bibliográficos
Autores: Oyarzun Altamirano, Guillermo|||0000-0001-9524-3782, Borrell Pol, Ricard, Gorobets, Andrei, Oliva Llena, Asensio|||0000-0002-2805-4794
Tipo de recurso: artículo
Fecha de publicación:2017
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/121221
Acceso en línea:https://hdl.handle.net/2117/121221
https://dx.doi.org/10.1080/10618562.2017.1390084
Access Level:acceso abierto
Palabra clave:Computational fluid dynamics
Simulation methods
CFD code
GPU
Heterogeneous computing
MPI+CUDA
OpenCL
Portability
Sliced ELLPACK
Dinàmica de fluids computacional
Simulació, Mètodes de
Àrees temàtiques de la UPC::Informàtica
Àrees temàtiques de la UPC::Enginyeria mecànica::Mecànica de fluids
Descripción
Sumario:Nowadays, high performance computing (HPC) systems experience a disruptive moment with a variety of novel architectures and frameworks, without any clarity of which one is going to prevail. In this context, the portability of codes across different architectures is of major importance. This paper presents a portable implementation model based on an algebraic operational approach for direct numerical simulation (DNS) and large eddy simulation (LES) of incompressible turbulent flows using unstructured hybrid meshes. The strategy proposed consists in representing the whole time-integration algorithm using only three basic algebraic operations: sparse matrix–vector product, a linear combination of vectors and dot product. The main idea is based on decomposing the nonlinear operators into a concatenation of two SpMV operations. This provides high modularity and portability. An exhaustive analysis of the proposed implementation for hybrid CPU/GPU supercomputers has been conducted with tests using up to 128 GPUs. The main objective consists in understanding the challenges of implementing CFD codes on new architectures.