Loading...
Please wait, while we are loading the content...
Similar Documents
Accelerating an MPI Lattice Boltzmann code using OpenACC
| Content Provider | ACM Digital Library |
|---|---|
| Author | Grund, Alexander Albing, Carl Jocksch, Andreas Blair, Stu |
| Abstract | This paper describes our OpenACC porting efforts for a code that we have developed that solves the isothermal incompressible Navier Stokes equation via the lattice Boltzmann method (LBM). Implemented initially as a hybrid MPI/OpenMP parallel program, we ported our code to use OpenACC in order to obtain the benefit of accelerators in a high performance computing (HPC) environment. We describe the elements of parallelism inherent in the LBM algorithm and the way in which that parallelism can be expressed using OpenACC directives. By setting compile-time flags during the build process, the program alternatively can be compiled for, and continue to run without the benefit of, accelerators. Through this porting process we were able to accelerate our code in an incremental fashion without extensive code transformation. We point out some additional efforts that were required to expose C++ class data members to the OpenACC compiler and describe difficulties encountered in this process. We show an instance where similar code segments decorated with the same OpenACC directives can result in different compiler outputs with significantly different performance properties. The result of the code porting process, which occurred primarily during OpenACC EuroHack, a 5-day intensive computing workshop, was a 5.5x speedup over the non-accelerated version of the code. |
| Starting Page | 1 |
| Ending Page | 9 |
| Page Count | 9 |
| File Format | |
| ISBN | 9781450340144 |
| DOI | 10.1145/2832105.2832111 |
| Language | English |
| Publisher | Association for Computing Machinery (ACM) |
| Publisher Date | 2015-11-15 |
| Publisher Place | New York |
| Access Restriction | Subscribed |
| Subject Keyword | Parallel computing Directives Openacc Lattice boltzmann methods Accelerator computing Performance analysis Gpu |
| Content Type | Text |
| Resource Type | Article |