Skip to main content

Using Compiler Directives for Accelerating CFD Applications on GPUs

  • Conference paper
Book cover OpenMP in a Heterogeneous World (IWOMP 2012)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7312))

Included in the following conference series:

Abstract

As the current trend of parallel systems is towards a cluster of multi-core nodes enhanced with accelerators, software development for such systems has become a major challenge. Both low-level and high-level programming models have been developed to address complex hierarchical structures at different hardware levels and to ease the programming effort. However, achieving the desired performance goal is still not a simple task. In this study, we describe our experience with using the accelerator directives developed by the Portland Group to port a computational fluid dynamics (CFD) application benchmark to a general-purpose GPU platform. Our work focuses on the usability of this approach and examines the programming effort and achieved performance on two Nvidia GPU-based systems. The study shows very promising results in terms of programmability as well as performance when compared to other approaches such as the CUDA programming model.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bailey, D.H., Barszcz, E., Barton, J.T., Browning, D.S., Carter, R.L., Dagum, L., Fatoohi, R.A., Frederickson, P.O., Lasinski, T.A., Schreiber, R.S., Simon, H.D., Venkatakrishnan, V., Weeratunga, S.K.: The NAS Parallel Benchmarks. International Journal of Supercomputer Applications 5(3), 63–73 (1991)

    Article  Google Scholar 

  2. Beyer, J.C., Stotzer, E.J., Hart, A., de Supinski, B.R.: OpenMP for Accelerators. In: Chapman, B.M., Gropp, W.D., Kumaran, K., Müller, M.S. (eds.) IWOMP 2011. LNCS, vol. 6665, pp. 108–121. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  3. CAPS: HMPP Programming Model, http://www.caps-entreprise.com/hmpp.html

  4. Jespersen, D.C.: Acceleration of a CFD code with a GPU. Scientific Programming 18, 193–201 (2010)

    Google Scholar 

  5. Jin, H., Frumkin, M., Yan, J.: The OpenMP Implementation of NAS Parallel Benchmarks and Its Performance. NAS Technical Report NAS-99-011, NASA Ames Research Center (October 1999)

    Google Scholar 

  6. Khronos Group, The OpenCL Standard, http://www.khronos.org/opencl/

  7. Kirk, D.B., Hwu, W.W.: Programming Massively Parallel Processors: A Hands-on Approach. Morgan Kaufmann Publishers (2010)

    Google Scholar 

  8. NVIDIA CUDA Architecture, http://www.nvidia.com/object/cuda_home.html

  9. The OpenACC Standard, http://www.openacc-standard.org/

  10. Pennycook, S.J., Hammond, S.D., Jarvis, S.A., Mudalige, G.R.: Performance Analysis of a Hybrid MPI/CUDA Implementation of the NAS-LU Benchmark. ACM SIGMETRICS Performance Evaluation Review - PMBS 10 38(4), 23–29 (2011)

    Article  Google Scholar 

  11. The Portland Group, PGI Accelerator Programming Model for Fortran and C, v1.3 (November 2010), http://www.pgroup.com/resources/accel.htm

  12. The Portland Group, PGI CUDA Fortran Programming Guide and Reference, http://www.pgroup.com/resources/cudafortran.htm

  13. Seo, S., Jo, G., Lee, J.: Performance Characterization of the NAS Parallel Benchmarks in OpenCL. In: IEEE International Symposium on Workload Characterization (IISWC), Austin, TX, pp. 137–148 (2011)

    Google Scholar 

  14. The Top 500 Supercomputer List (November 2011), http://www.top500.org/lists/2011/11

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jin, H., Kellogg, M., Mehrotra, P. (2012). Using Compiler Directives for Accelerating CFD Applications on GPUs. In: Chapman, B.M., Massaioli, F., Müller, M.S., Rorro, M. (eds) OpenMP in a Heterogeneous World. IWOMP 2012. Lecture Notes in Computer Science, vol 7312. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30961-8_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-30961-8_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-30960-1

  • Online ISBN: 978-3-642-30961-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics