Skip to main content
Top

2016 | OriginalPaper | Chapter

Pragmatic Performance Portability with OpenMP 4.x

Authors : Matt Martineau, James Price, Simon McIntosh-Smith, Wayne Gaudin

Published in: OpenMP: Memory, Devices, and Tasks

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

In this paper we investigate the current compiler technologies supporting OpenMP 4.x features targeting a range of devices, in particular, the Cray compiler 8.5.0 targeting an Intel Xeon Broadwell and NVIDIA K20x, IBM’s OpenMP 4.5 Clang branch (clang-ykt) targeting an NVIDIA K20x, the Intel compiler 16 targeting an Intel Xeon Phi Knights Landing, and GCC 6.1 targeting an AMD APU. We outline the mechanisms that they use to map the OpenMP model onto their target architectures, and conduct performance testing with a number of representative data parallel kernels. Following this we present a discussion about the current state of play in terms of performance portability and propose some straightforward guidelines for writing performance portable code, derived from our observations. At the time of writing, developers will likely have to rely on the pre-processor for certain kernels to achieve functional portability, but we expect that future homogenisation of required directives between compilers and architectures is feasible.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literature
1.
go back to reference Bercea, G., Bertolli, C., Antao, S., Jacob, A., et al.: Performance analysis of OpenMPon a GPU using a Coral Proxy application. In: Proceedings of the 6th InternationalWorkshop on Performance Modeling, Benchmarking, and Simulation of High Performance Computing Systems, p. 2. ACM (2015) Bercea, G., Bertolli, C., Antao, S., Jacob, A., et al.: Performance analysis of OpenMPon a GPU using a Coral Proxy application. In: Proceedings of the 6th InternationalWorkshop on Performance Modeling, Benchmarking, and Simulation of High Performance Computing Systems, p. 2. ACM (2015)
2.
go back to reference Bertolli, C., Antao, S., Bercea, G.-T., et al.: Integrating GPU support for OpenMP offloading directives into clang. In: Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC, LLVM 2015 (2015) Bertolli, C., Antao, S., Bercea, G.-T., et al.: Integrating GPU support for OpenMP offloading directives into clang. In: Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC, LLVM 2015 (2015)
3.
go back to reference Bertolli, C., Antao, S.F., Eichenberger, A., et al.: Coordinating GPU threads for OpenMP 4.0 in LLVM. In: Proceedings of the LLVM Compiler Infrastructure in HPC, pp. 12–21. IEEE Press (2014) Bertolli, C., Antao, S.F., Eichenberger, A., et al.: Coordinating GPU threads for OpenMP 4.0 in LLVM. In: Proceedings of the LLVM Compiler Infrastructure in HPC, pp. 12–21. IEEE Press (2014)
4.
go back to reference Hart, A.: First experiences porting a parallel application to a hybrid supercomputer with OpenMP 4.0 device constructs. In: Proceedings of the OpenMP: Heterogenous Execution and Data Movements: 11th International Workshop on OpenMP, IWOMP, pp. 73–85 (2015) Hart, A.: First experiences porting a parallel application to a hybrid supercomputer with OpenMP 4.0 device constructs. In: Proceedings of the OpenMP: Heterogenous Execution and Data Movements: 11th International Workshop on OpenMP, IWOMP, pp. 73–85 (2015)
5.
go back to reference Kogge, P., Shalf, J.: Exascale computing trends: adjusting to the “New Normal” for computer architecture. Comput. Sci. Eng. 15(6), 16–26 (2013)CrossRef Kogge, P., Shalf, J.: Exascale computing trends: adjusting to the “New Normal” for computer architecture. Comput. Sci. Eng. 15(6), 16–26 (2013)CrossRef
7.
go back to reference Lin, P., Liao, C., Quinlan, D., et al.: Experiences of using the OpenMP accelerator model to port DOE stencil applications. In: Proceedings of the OpenMP: Heterogenous Execution and Data Movements: 11th International Workshop on OpenMP, IWOMP 2015, pp. 45–59 (2015) Lin, P., Liao, C., Quinlan, D., et al.: Experiences of using the OpenMP accelerator model to port DOE stencil applications. In: Proceedings of the OpenMP: Heterogenous Execution and Data Movements: 11th International Workshop on OpenMP, IWOMP 2015, pp. 45–59 (2015)
8.
go back to reference Martineau, M., McIntosh-Smith, S., Boulton, M., Gaudin, W.: An evaluation of emerging many-core parallel programming models. In: Proceedings of the 7th International Workshop on Programming Models and Applications for Multicores and Manycores, PMAM 2016 (2016) Martineau, M., McIntosh-Smith, S., Boulton, M., Gaudin, W.: An evaluation of emerging many-core parallel programming models. In: Proceedings of the 7th International Workshop on Programming Models and Applications for Multicores and Manycores, PMAM 2016 (2016)
9.
go back to reference Martineau, M., McIntosh-Smith, S., Gaudin, W.: Evaluating OpenMP 4.0’s effectiveness as a heterogeneous parallel programming model. In: Proceedings of 21st International Workship on High-Level Parallel Programming Models and Supportive Environments, HIPS 2016 (2016) Martineau, M., McIntosh-Smith, S., Gaudin, W.: Evaluating OpenMP 4.0’s effectiveness as a heterogeneous parallel programming model. In: Proceedings of 21st International Workship on High-Level Parallel Programming Models and Supportive Environments, HIPS 2016 (2016)
10.
go back to reference McIntosh-Smith, S., Boulton, M., Curran, D., Price, J.: On the performance portability of structured grid codes on many-core computer architectures. In: Kunkel, J.M., Ludwig, T., Meuer, H.W. (eds.) ISC 2014. LNCS, vol. 8488, pp. 53–75. Springer, Heidelberg (2014) McIntosh-Smith, S., Boulton, M., Curran, D., Price, J.: On the performance portability of structured grid codes on many-core computer architectures. In: Kunkel, J.M., Ludwig, T., Meuer, H.W. (eds.) ISC 2014. LNCS, vol. 8488, pp. 53–75. Springer, Heidelberg (2014)
11.
go back to reference OpenMP Architecture Review Board. OpenMP Application Program Interface v4.5 (2015) OpenMP Architecture Review Board. OpenMP Application Program Interface v4.5 (2015)
Metadata
Title
Pragmatic Performance Portability with OpenMP 4.x
Authors
Matt Martineau
James Price
Simon McIntosh-Smith
Wayne Gaudin
Copyright Year
2016
DOI
https://doi.org/10.1007/978-3-319-45550-1_18