A Case Study of Performance Optimization in a Heterogeneous Environment

Leandro Pereira, Cristiana Barbosa Bentes, Maria Clicia Castro, Eduardo Garcia · 2017

The optimization of legacy codes for fully exploiting the parallelism opportunities provided by modern heterogeneous architectures is a difficult task. Multiple levels of parallelism can be exploited in order to gain the expected performance. This work describes the lessons learned in the performance optimization of a real-world reservoir engineering application composed of thousands of code lines. We study the exploitation of the multiple levels of parallelism, showing a possible, although non-trivial, path to extract performance. Our results show that exploiting thread-level parallelism is not always the best path to derive performance gains. On the other side, vectorization plays a key role in reducing the execution time of the application.

Read the paper · More papers on PaperTik