Speaker
Prof.
Alexander Bogdanov
(St.Petersburg State University)
Description
This work is devoted to the development of guidelines for the porting of existing applications to GPGPU. The paper provides an overview of the current state of the parallel computation area with respect to GPGPU. Various approaches to the organization of parallel computations are considered, and their effectiveness is evaluated in relation to the application under study. Special attention is given to delicate relation between vectorization (done on the level of most internal loops of code) and parallelization (done on the external computational tasks). The proper combination of this makes it possible to get optimal speed-up. But in reality it can be too ideal point of view because of two principle limitations – memory of the GPGPU and the link between CPU and GPGPU.
We argue that due to those limitations it is impossible to work out general strategy of porting applications to any GPGPU. Anyway for particular codes and special GPU’s the proposed approach makes it possible to get speed-up’s up to hundreds. This becomes even more effective when combined with virtualization of GPGPU to provide the balance between the size of computing core and rate of data transfer to it.
We illustrate our approach on the examples of OpenFoam and DSMC porting to P100 GPU. It is clear, that only combination of all proposed measures makes it possible to get necessary speed-up.
As a result, a strategy has been developed for migrating the application to a heterogeneous system. The results of the work can be applied when transferring similar applications to GPGPU or modified to transfer other types of applications.
Primary author
Prof.
Alexander Bogdanov
(St.Petersburg State University)
Co-authors
Mr
Denis Manyashin
(St.Petersburg State University)
Mr
Nikita Storublevtzev
(St.Petersburg State University)
Dr
Vladimir Mareev
(St.Petersburg State University)