Performance evaluation of a two-dimensional lattice Boltzmann solver using CUDA and PGAS UPC based parallelisation

dc.contributor.authorSzőke, Máté
dc.contributor.authorJózsa, Tamás István
dc.contributor.authorKoleszár, Ádám
dc.contributor.authorMoulitsas, Irene
dc.contributor.authorKönözsy, László Z.
dc.date.accessioned2017-07-18T12:35:04Z
dc.date.available2017-07-18T12:35:04Z
dc.date.issued2017-07-31
dc.description.abstractThe 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.en_UK
dc.identifier.citationMáté Szőke, Tamás István Józsa, Ádám Koleszár, Irene Moulitsas and László Könözsy. Performance evaluation of a two-dimensional lattice Boltzmann solver using CUDA and PGAS UPC based parallelisation. ACM Transactions on Mathematical Software (TOMS), Volume 44 Issue 1, July 2017, article number 8en_UK
dc.identifier.issn0098-3500
dc.identifier.urihttp://dx.doi.org/10.1145/3085590
dc.identifier.urihttps://dspace.lib.cranfield.ac.uk/handle/1826/12204
dc.language.isoenen_UK
dc.publisherAssociation for Computing Machinery (ACM)en_UK
dc.rightsAttribution-NonCommercial 4.0 International
dc.rights©ACM 2017. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. Please refer to any applicable publisher terms of use. The definitive version was published in ACM Transactions on Mathematical Software (TOMS), Volume 44 Issue 1, July 2017, http://doi.acm.org/10.1145/3085590
dc.rights.urihttp://creativecommons.org/licenses/by-nc/4.0/
dc.subjectPartitioned global address spaceen_UK
dc.subjectunified parallel Cen_UK
dc.subjectnvidiaen_UK
dc.subjectcompute unified device architectureen_UK
dc.subjectcomputational fluid dynamicsen_UK
dc.subjectlattice Boltzmann methoden_UK
dc.titlePerformance evaluation of a two-dimensional lattice Boltzmann solver using CUDA and PGAS UPC based parallelisationen_UK
dc.typeArticleen_UK

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Performance_evaluation_of_a_two_dimensional_lattice_Boltzmann-2017.pdf
Size:
1.74 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.79 KB
Format:
Item-specific license agreed upon to submission
Description: