Skip to main content
Erschienen in: The Journal of Supercomputing 1/2014

01.07.2014

SkelCL: a high-level extension of OpenCL for multi-GPU systems

verfasst von: Michel Steuwer, Sergei Gorlatch

Erschienen in: The Journal of Supercomputing | Ausgabe 1/2014

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Application development for modern high-performance systems with graphics processing units (GPUs) currently relies on low-level programming approaches like CUDA and OpenCL, which leads to complex, lengthy and error-prone programs. We present SkelCL—a high-level programming approach for systems with multiple GPUs and its implementation as a library on top of OpenCL. SkelCL makes three main enhancements to the OpenCL standard: (1) memory management is simplified using parallel container data types (vectors and matrices); (2) an automatic data (re)distribution mechanism allows for implicit data movements between GPUs and ensures scalability when using multiple GPUs; (3) computations are conveniently expressed using parallel algorithmic patterns (skeletons). We demonstrate how SkelCL is used to implement parallel applications, and we report experimental evaluation of our approach in terms of programming effort and performance.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

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!

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+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!

Literatur
1.
Zurück zum Zitat (2011) OpenACC Application Program Interface. Version 1.0 (2011) OpenACC Application Program Interface. Version 1.0
2.
Zurück zum Zitat AMD (2013) Bolt—A C++ template library optimized for GPUs AMD (2013) Bolt—A C++ template library optimized for GPUs
3.
Zurück zum Zitat Elangovan VK, Badia RM, Parra EA (2013) OmpSs-OpenCL programming model for heterogeneous systems. In: Kasahara H, Kimura K (eds) Languages and compilers for parallel computing, volume 7760 of LNCS. Springer, Berlin, Heidelberg, pp 96–111CrossRef Elangovan VK, Badia RM, Parra EA (2013) OmpSs-OpenCL programming model for heterogeneous systems. In: Kasahara H, Kimura K (eds) Languages and compilers for parallel computing, volume 7760 of LNCS. Springer, Berlin, Heidelberg, pp 96–111CrossRef
4.
Zurück zum Zitat Enmyren J, Kessler C (2010) SkePU: a multi-backend skeleton programming library for multi-GPU systems. In: Proceedings 4th international workshop on high-level parallel programming and applications (HLPP-2010) Enmyren J, Kessler C (2010) SkePU: a multi-backend skeleton programming library for multi-GPU systems. In: Proceedings 4th international workshop on high-level parallel programming and applications (HLPP-2010)
5.
Zurück zum Zitat Ernsting S, Kuchen H (2012) Algorithmic skeletons for multi-core, multi-GPU systems and clusters. Int J High Perform Comput Netw 7(2):129–138CrossRef Ernsting S, Kuchen H (2012) Algorithmic skeletons for multi-core, multi-GPU systems and clusters. Int J High Perform Comput Netw 7(2):129–138CrossRef
6.
Zurück zum Zitat Gorlatch S, Cole M (2011) Parallel skeletons. In: Encyclopedia of parallel computing, pp 1417–1422 Gorlatch S, Cole M (2011) Parallel skeletons. In: Encyclopedia of parallel computing, pp 1417–1422
7.
Zurück zum Zitat Hoberock J, Bell N (2013) NVIDIA. A parallel template, library, thrust Hoberock J, Bell N (2013) NVIDIA. A parallel template, library, thrust
8.
Zurück zum Zitat Khronos OpenCL Working Group (2013) The OpenCL specification. Version 2.0 Khronos OpenCL Working Group (2013) The OpenCL specification. Version 2.0
9.
Zurück zum Zitat Kittler J (1983) On the accuracy of the sobel edge detector. Image Vis Comput 1(1):37–42CrossRef Kittler J (1983) On the accuracy of the sobel edge detector. Image Vis Comput 1(1):37–42CrossRef
10.
Zurück zum Zitat Mandelbrot B (1980) Fractal aspects of the iteration of \( z \mapsto \lambda z(1 - z)\) for complex \(\lambda \) and \(z\). Ann N Y Acad Sci 357(1):249–259 Mandelbrot B (1980) Fractal aspects of the iteration of \( z \mapsto \lambda z(1 - z)\) for complex \(\lambda \) and \(z\). Ann N Y Acad Sci 357(1):249–259
11.
Zurück zum Zitat NVIDIA (2013) NVIDIA CUDA SDK code samples. Version 5.0 NVIDIA (2013) NVIDIA CUDA SDK code samples. Version 5.0
12.
Zurück zum Zitat OpenMP Architecture Board (2013) OpenMP API. Version 4.0 OpenMP Architecture Board (2013) OpenMP API. Version 4.0
13.
Zurück zum Zitat Steuwer M, Gorlatch S (2013) Enhancing OpenCL for high-level programming of multi-GPU systems. In: Malyshkin V (ed) Parallel computing technologies (PaCT 2013), volume 7979 of LNCS. Springer, Berlin, Heidelberg, pp 258–272 Steuwer M, Gorlatch S (2013) Enhancing OpenCL for high-level programming of multi-GPU systems. In: Malyshkin V (ed) Parallel computing technologies (PaCT 2013), volume 7979 of LNCS. Springer, Berlin, Heidelberg, pp 258–272
14.
Zurück zum Zitat Steuwer M, Kegel P, Gorlatch S (2011) SkelCL—a portable skeleton library for high-level GPU programming. In: Parallel and distributed processing workshops and Ph.D. forum (IPDPSW), 2011 IEEE international symposium, pp 1176–1182 Steuwer M, Kegel P, Gorlatch S (2011) SkelCL—a portable skeleton library for high-level GPU programming. In: Parallel and distributed processing workshops and Ph.D. forum (IPDPSW), 2011 IEEE international symposium, pp 1176–1182
Metadaten
Titel
SkelCL: a high-level extension of OpenCL for multi-GPU systems
verfasst von
Michel Steuwer
Sergei Gorlatch
Publikationsdatum
01.07.2014
Verlag
Springer US
Erschienen in
The Journal of Supercomputing / Ausgabe 1/2014
Print ISSN: 0920-8542
Elektronische ISSN: 1573-0484
DOI
https://doi.org/10.1007/s11227-014-1213-y

Weitere Artikel der Ausgabe 1/2014

The Journal of Supercomputing 1/2014 Zur Ausgabe