Show simple item record

dc.contributor.authorMcCall, Andrew Jamesen_US
dc.date.accessioned2017-06-15T08:00:47Z
dc.date.available2017-06-15T08:00:47Z
dc.date.issued2017-06-14en_US
dc.identifier.othervt_gsexam:10307en_US
dc.identifier.urihttp://hdl.handle.net/10919/78203
dc.description.abstractHigh-level parallel programming approaches, such as OpenACC, have recently become popular in complex fluid dynamics research since they are cross-platform and easy to implement. OpenACC is a directive-based programming model that, unlike low-level programming models, abstracts the details of implementation on the GPU. Although OpenACC generally limits the performance of the GPU, this model significantly reduces the work required to port an existing code to any accelerator platform, including GPUs. The purpose of this research is twofold: to investigate the effectiveness of OpenACC in developing a portable and maintainable GPU-accelerated code, and to determine the capability of OpenACC to accelerate large, complex programs on the GPU. In both of these studies, the OpenACC implementation is optimized and extended to a multi-GPU implementation while maintaining a unified code base. OpenACC is shown as a viable option for GPU computing with CFD problems. In the first study, a CFD code that solves incompressible cavity flows is accelerated using OpenACC. Overlapping communication with computation improves performance for the multi-GPU implementation by up to 21%, achieving up to 400 times faster performance than a single CPU and 99% weak scalability efficiency with 32 GPUs. The second study ports the execution of a more complex CFD research code to the GPU using OpenACC. Challenges using OpenACC with modern Fortran are discussed. Three test cases are used to evaluate performance and scalability. The multi-GPU performance using 27 GPUs is up to 100 times faster than a single CPU and maintains a weak scalability efficiency of 95%.en_US
dc.format.mediumETDen_US
dc.publisherVirginia Techen_US
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectGraphics processing uniten_US
dc.subjectDirective-based programmingen_US
dc.subjectOpenACCen_US
dc.subjectLid-driven cavityen_US
dc.subjectMulti-GPUen_US
dc.subjectParallel computingen_US
dc.titleMulti-level Parallelism with MPI and OpenACC for CFD Applicationsen_US
dc.typeThesisen_US
dc.contributor.departmentAerospace and Ocean Engineeringen_US
dc.description.degreeMaster of Scienceen_US
thesis.degree.nameMaster of Scienceen_US
thesis.degree.levelmastersen_US
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen_US
thesis.degree.disciplineAerospace Engineeringen_US
dc.contributor.committeechairRoy, Christopher Johnen_US
dc.contributor.committeememberPaterson, Eric G.en_US
dc.contributor.committeememberDe Sturler, Ericen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record