Back to Search
Start Over
Performance Evaluation of a Two-Dimensional Lattice Boltzmann Solver Using CUDA and PGAS UPC Based Parallelisation
- Source :
- ACM Transactions on Mathematical Software, 44(1):8. Association for Computing Machinery (ACM), Szoke, M, Józsa, T, Koleszár, Á, Moulitsas, I & Könözsy, L 2017, ' Performance evaluation of a two-dimensional lattice Boltzmann solver using CUDA and PGAS UPC based parallelisation ', ACM Transactions on Mathematical Software, vol. 44, no. 1, 8 . https://doi.org/10.1145/3085590
- Publication Year :
- 2017
- Publisher :
- Association for Computing Machinery (ACM), 2017.
-
Abstract
- The Unified Parallel C (UPC) language from the Partitioned Global Address Space (PGAS) family unifies the advantages of shared and local memory spaces and offers a relatively straightforward code parallelisation with the Central Processing Unit (CPU). In contrast, the Computer Unified Device Architecture (CUDA) development kit gives a tool to make use of the Graphics Processing Unit (GPU). We provide a detailed comparison between these novel techniques through the parallelisation of a two-dimensional lattice Boltzmann method based fluid flow solver. Our comparison between the CUDA and UPC parallelisation takes into account the required conceptual effort, the performance gain, and the limitations of the approaches from the application oriented developers’ point of view. We demonstrated that UPC led to competitive efficiency with the local memory implementation. However, the performance of the shared memory code fell behind our expectations, and we concluded that the investigated UPC compilers could not efficiently treat the shared memory space. The CUDA implementation proved to be more complex compared to the UPC approach mainly because of the complicated memory structure of the graphics card which also makes GPUs suitable for the parallelisation of the lattice Boltzmann method.
- Subjects :
- Computer science
unified parallel C
Graphics processing unit
computational fluid dynamics
02 engineering and technology
Parallel computing
Software_PROGRAMMINGTECHNIQUES
01 natural sciences
010305 fluids & plasmas
CUDA
CUDA Pinned memory
0103 physical sciences
Unified Parallel C
0202 electrical engineering, electronic engineering, information engineering
Partitioned global address space
computer.programming_language
Applied Mathematics
020207 software engineering
Solver
Shared memory
lattice Boltzmann method
nvidia
compute unified device architecture
Central processing unit
computer
Software
Subjects
Details
- ISSN :
- 15577295 and 00983500
- Volume :
- 44
- Database :
- OpenAIRE
- Journal :
- ACM Transactions on Mathematical Software
- Accession number :
- edsair.doi.dedup.....2d75d380666429abb4272f82f2c1e47b
- Full Text :
- https://doi.org/10.1145/3085590