6533b860fe1ef96bd12c3a90
RESEARCH PRODUCT
Designing a graphics processing unit accelerated petaflop capable lattice Boltzmann solver: Read aligned data layouts and asynchronous communication
Keijo MattilaKeijo MattilaJan WesterholmFredrik Robertsénsubject
virtauslaskentalarge-scale I/OComputer scienceGraphics processing unitLattice Boltzmann methodscomputational fluid dynamicsParallel computinggraphics processing unit01 natural sciencesmemory alignmentprocessors010305 fluids & plasmasTheoretical Computer Science0103 physical sciencesData structure alignment0101 mathematicsGraphicsComputingMethodologies_COMPUTERGRAPHICSta113data layoutta114prosessoritSolverLattice Boltzmann010101 applied mathematicsData accessHardware and ArchitectureAsynchronous communicationCentral processing unitasynchronous communicationTitanSoftwaredescription
The lattice Boltzmann method is a well-established numerical approach for complex fluid flow simulations. Recently, general-purpose graphics processing units (GPUs) have become available as high-performance computing resources at large scale. We report on designing and implementing a lattice Boltzmann solver for multi-GPU systems that achieves 1.79 PFLOPS performance on 16,384 GPUs. To achieve this performance, we introduce a GPU compatible version of the so-called bundle data layout and eliminate the halo sites in order to improve data access alignment. Furthermore, we make use of the possibility to overlap data transfer between the host central processing unit and the device GPU with computing on the GPU. As a benchmark case, we simulate flow in porous media and measure both strong and weak scaling performance with the emphasis being on large-scale simulations using realistic input data.
| year | journal | country | edition | language |
|---|---|---|---|---|
| 2016-08-24 | The International Journal of High Performance Computing Applications |