Skip to main content

Concurrent Parallel Processing on Graphics and Multicore Processors with OpenACC and OpenMP

  • Conference paper
  • First Online:
Book cover Accelerator Programming Using Directives (WACCPD 2017)

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

Included in the following conference series:

Abstract

Hierarchical parallel computing is rapidly becoming ubiquitous in high performance computing (HPC) systems. Programming models used commonly in turbomachinery and other engineering simulation codes have traditionally relied upon distributed memory parallelism with MPI and have ignored thread and data parallelism. This paper presents methods for programming multi-block codes for concurrent computational on host multicore CPUs and many-core accelerators such as graphics processing units. Portable and standardized methods are language directives that are used to expose data and thread parallelism within the hybrid shared and distributed-memory simulation system. A single-source/multiple-object strategy is used to simplify code management and allow for heterogeneous computing. Automated load balancing is implemented to determine what portions of the domain are computed by the multi-core CPUs and GPUs. Preliminary results indicate that a moderate overall speed-up is possible by taking advantage of all processors and accelerators on a given HPC node.

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 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 60.00
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

Notes

  1. 1.

    This assumes that all operations can be computed within a vector logic unit capable of processing eight values simultaneously compared to a scalar logic unit.

  2. 2.

    The legacy !dir$ ivdep directive can often be used where OpenMP v4 is not supported.

References

  1. Martin, C.: Multicore processors: challenges, opportunities, emerging trends. In: Proceedings of Embedded World Conference 2014, Nuremberg, Germany (2014)

    Google Scholar 

  2. OpenACC Specification Page. http://www.openacc.org/specification. Accessed 31 July 2017

  3. Stone, C., Davis, R.: High-performance 3D multi-disciplinary fluid/thermal prediction using combined multi-core/multi-GPGPU computer systems. In: 22nd AIAA Computational Fluid Dynamics Conference, Dallas, Texas, USA (2015). https://doi.org/10.2514/6.2015-3058

  4. OpenMP Specification Page. http://www.openmp.org/specifications. Accessed 31 July 2017

  5. Pickering, B.P., Jackson, C.W., Scogland, T.R.W., Feng, W.-C., Roy, C.J.: Directive-based GPU programming for computational fluid dynamics. Comput. Fluids 114, 242–253 (2015)

    Article  MathSciNet  Google Scholar 

  6. Kraus, J., Schlottke, M., Adinetz, A., Pleiter, D.: Accelerating a C++ CFD code with OpenACC. In: 1st Workshop on Accelerator Programming Using Directives, pp. 47–54. IEEE (2014). https://doi.org/10.1109/WACCPD.2014.11

  7. Wilcox, D.C.: Turbulence Modeling for CFD. DCW Industries, La Cannada (1998)

    Google Scholar 

  8. Smagorinsky, J.: General circulation experiments with the primitive equations. Mon. Weather Rev. 91, 99–164 (1963)

    Article  Google Scholar 

  9. Strelets, M.: Detached eddy simulation of massively separated flows. In: 39th Aerospace Sciences Meeting and Exhibit, Reno, Nevada (2001). https://doi.org/10.2514/6.2001-879

  10. Bush, R.H., Mani, M.: A two-equation large eddy stress model for high sub-grid shear. In: 15th AIAA Computational Fluid Dynamics Conference, Anaheim, CA (2001). https://doi.org/10.2514/6.2001-2561

  11. Bozinoski, R., Davis, R.L.: General three-dimensional, multi-block, parallel turbulent Navier-Stokes procedure. In: AIAA Aerospace Sciences Meeting. Reno, Nevada (2008). https://doi.org/10.2514/6.2008-756

  12. Ni, R.H.: A multiple grid scheme for solving the Euler equations. AIAA J. 20(11), 1565–1571 (1982). https://doi.org/10.2514/3.51220

    Article  MATH  Google Scholar 

  13. Dannenhoffer, J.F.: Grid Adaptation for Complex Two-Dimensional Transonic Flows. Technical report CFDL-TR-87-10, Institute of Technology, Massachusetts (1987)

    Google Scholar 

  14. Davis, R.L., Ni, R.H., Carter, J.E.: Cascade viscous flow analysis using the Navier-Stokes equations. J. Propul. Power 3, 406–414 (1987). https://doi.org/10.2514/3.23005

    Article  Google Scholar 

  15. Jameson, A.: Time dependent calculations using multi-grid, with applications to unsteady flows past airfoils and wings. In: 10th AIAA Computational Fluid Dynamics Conference, Honolulu, HI (1991). https://doi.org/10.2514/6.1991-1596

  16. Davis, R.L., Clark, J.P.: Geometry-grid generation for three-dimensional multidisciplinary simulations in multistage turbomachinery. J. Propul. Power 30, 1502–1509 (2014). https://doi.org/10.2514/1.B35168

    Article  Google Scholar 

  17. Huismann, I., Stiller, J., Frohlich, J.: Two-level parallelization of a fluid mechanics algorithm exploiting hardware heterogeneity. Comput. Fluids 117, 114–124 (2015). https://doi.org/10.1016/j.compfluid.2015.05.012

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

This material is based upon work supported by, or in part by, the Department of Defense High Performance Computing Modernization Program (HPCMP) under User Productivity, Technology Transfer and Training (PETTT) contract number GS04T09DBC0017.

US Department of Defense (DoD) Distribution Statement A: Approved for public release. Distribution is unlimited.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Christopher P. Stone .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Stone, C.P., Davis, R.L., Lee, D.Y. (2018). Concurrent Parallel Processing on Graphics and Multicore Processors with OpenACC and OpenMP. In: Chandrasekaran, S., Juckeland, G. (eds) Accelerator Programming Using Directives. WACCPD 2017. Lecture Notes in Computer Science(), vol 10732. Springer, Cham. https://doi.org/10.1007/978-3-319-74896-2_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-74896-2_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-74895-5

  • Online ISBN: 978-3-319-74896-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics