Evaluating directive-based programming models on Wave Propagation Kernels
S. Rodriguez, P. Farré, C. Rosas and M. Hanzich
Event name: 79th EAGE Conference and Exhibition 2017 - Workshops
Session: WS15 Programming on Modern HPC Architectures - Efficiency and Portability
Publication date: 12 June 2017
Info: Extended abstract, PDF ( 217.71Kb )
Price: € 20
HPC systems have become mandatory to tackle the ever-increasing challenges imposed by new exploration areas around the world. The requirement for more HPC resources depends on the complexity of the area under exploration, yet the larger the HPC system, the more the energy consumption involved. Reduction of overall power consumption in HPC facilities, lead technologies vendors to introduce many-core devices and heterogeneous computing to the supercomputers, thus, forcing exploration codes to be ported to such new architectures. As the Oil & Gas industry has more than 30 years of legacy code, the effort to adapt it could be huge. To this extent, several programming models emerged, e.g. high-level directive-based programming models, such as OpenMP, OpenACC, and OmpSs rely on specifying to the compiler the parallelism directives to release users from manually decomposing and processing the parallel regions. The results show that it is possible to obtain a parallel code for current heterogeneous HPC architectures investing a few hours or days. The obtained speedup is at least an order of magnitude w.r.t. a sequential code. However, we provide parallelism inside a single computational node, and a wider study for evaluating the costs of porting and parallelizing across computational nodes is pending.