Skip to main content
Erschienen in: International Journal of Parallel Programming 4/2014

01.08.2014

Introducing and Implementing the Allpairs Skeleton for Programming Multi-GPU Systems

verfasst von: Michel Steuwer, Malte Friese, Sebastian Albers, Sergei Gorlatch

Erschienen in: International Journal of Parallel Programming | Ausgabe 4/2014

Einloggen

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

search-config
loading …

Abstract

Algorithmic skeletons simplify software development: they abstract typical patterns of parallelism and provide their efficient implementations, allowing the application developer to focus on the structure of algorithms, rather than on implementation details. This becomes especially important for modern parallel systems with multiple graphics processing units (GPUs) whose programming is complex and error-prone, because state-of-the-art programming approaches like CUDA and OpenCL lack high-level abstractions. We define a new algorithmic skeleton for allpairs computations which occur in real-world applications, ranging from bioinformatics to physics. We develop the skeleton’s generic parallel implementation for multi-GPU Systems in OpenCL. To enable the automatic use of the fast GPU memory, we identify and implement an optimized version of the allpairs skeleton with a customizing function that follows a certain memory access pattern. We use matrix multiplication as an application study for the allpairs skeleton and its two implementations and demonstrate that the skeleton greatly simplifies programming, saving up to 90 % of lines of code as compared to OpenCL. The performance of our optimized implementation is up to 6.8 times higher as compared with the generic implementation and is competitive to the performance of a manually written optimized OpenCL code.

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

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

Literatur
2.
Zurück zum Zitat Arora, N., Shringarpure, A., Vuduc, R.: Direct N-body Kernels for multicore platforms. In: Proceedings of ICPP’09, IEEE, pp. 379–387 (2009) Arora, N., Shringarpure, A., Vuduc, R.: Direct N-body Kernels for multicore platforms. In: Proceedings of ICPP’09, IEEE, pp. 379–387 (2009)
3.
Zurück zum Zitat Chang, D., Desoky, A., Ouyang, M., Rouchka, E.: Compute pairwise Manhattan distance and Pearson correlation coefficient of data points with GPU. In: Proceedings of SNPD’09, IEEE, pp. 501–506 (2009) Chang, D., Desoky, A., Ouyang, M., Rouchka, E.: Compute pairwise Manhattan distance and Pearson correlation coefficient of data points with GPU. In: Proceedings of SNPD’09, IEEE, pp. 501–506 (2009)
4.
Zurück zum Zitat Cole, M.: Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming. Parallel Comput. 30(3), 389–406 (2004)CrossRef Cole, M.: Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming. Parallel Comput. 30(3), 389–406 (2004)CrossRef
5.
Zurück zum Zitat Daub, C., Steuer, R., Selbig, J., Kloska, S.: Estimating mutual information using B-spline functions—an improved similarity measure for analysing gene expression data. BMC Bioinform. 5(1), 118 (2004)CrossRef Daub, C., Steuer, R., Selbig, J., Kloska, S.: Estimating mutual information using B-spline functions—an improved similarity measure for analysing gene expression data. BMC Bioinform. 5(1), 118 (2004)CrossRef
6.
Zurück zum Zitat Enmyren, J., Kessler, C.: SkePU: a multi-backend skeleton programming library for multi-GPU systems. In: Proceedings 4th international workshop on high-level parallel programming and applications, ACM, pp. 5–14 (2010) Enmyren, J., Kessler, C.: SkePU: a multi-backend skeleton programming library for multi-GPU systems. In: Proceedings 4th international workshop on high-level parallel programming and applications, ACM, pp. 5–14 (2010)
7.
Zurück zum Zitat Ernsting, S., Kuchen, H.: Algorithmic skeletons for multi-core, multi-GPU systems and clusters. Int. J. High Perform. Comput. Netw. 7(2), 129–138 (2012)CrossRef Ernsting, S., Kuchen, H.: Algorithmic skeletons for multi-core, multi-GPU systems and clusters. Int. J. High Perform. Comput. Netw. 7(2), 129–138 (2012)CrossRef
8.
Zurück zum Zitat González-Vélez, H., Leyton, M.: A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers. Softw. Pract. Exp. 40(12), 1135–1160 (2010)CrossRef González-Vélez, H., Leyton, M.: A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers. Softw. Pract. Exp. 40(12), 1135–1160 (2010)CrossRef
9.
Zurück zum Zitat Gorlatch, S., Cole, M.: Parallel Skeletons. In: Padua, D. (ed.) Encyclopedia of Parallel Computing, pp. 1417–1422. Springer, Berlin (2011) Gorlatch, S., Cole, M.: Parallel Skeletons. In: Padua, D. (ed.) Encyclopedia of Parallel Computing, pp. 1417–1422. Springer, Berlin (2011)
11.
Zurück zum Zitat Kirk, D.B., Hwu, W.W.: Programming Massively Parallel Processors—A Hands-on Approach. Morgan Kaufman, Burlington (2010) Kirk, D.B., Hwu, W.W.: Programming Massively Parallel Processors—A Hands-on Approach. Morgan Kaufman, Burlington (2010)
12.
Zurück zum Zitat Lämmel, R.: Google’s MapReduce programming model—revisited. Sci. Comput. Program. 68(3), 208–237 (2007) Lämmel, R.: Google’s MapReduce programming model—revisited. Sci. Comput. Program. 68(3), 208–237 (2007)
13.
Zurück zum Zitat Munshi, A.: The OpenCL Specification. Version 1.2. Khronos OpenCL Working Group, Beaverton, Oregon (2011) Munshi, A.: The OpenCL Specification. Version 1.2. Khronos OpenCL Working Group, Beaverton, Oregon (2011)
16.
Zurück zum Zitat Sarje, A., Aluru, S.: All-pairs computations on many-core graphics processors. Parallel Comput. 39(2), 79–93 (2013)CrossRef Sarje, A., Aluru, S.: All-pairs computations on many-core graphics processors. Parallel Comput. 39(2), 79–93 (2013)CrossRef
17.
Zurück zum Zitat Steuwer, M., Kegel, P., Gorlatch, S.: Towards high-level programming of multi-GPU systems using the SkelCL library. In: 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), IEEE, pp. 1858–1865 (2012) Steuwer, M., Kegel, P., Gorlatch, S.: Towards high-level programming of multi-GPU systems using the SkelCL library. In: 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), IEEE, pp. 1858–1865 (2012)
18.
Zurück zum Zitat Wirawan, A., Schmidt, B., Kwoh. C.K.: Pairwise distance matrix computation for multiple sequence alignment on the cell broadband engine. In: Proceedings of ICCS’09, Springer, pp. 954–963 (2009) Wirawan, A., Schmidt, B., Kwoh. C.K.: Pairwise distance matrix computation for multiple sequence alignment on the cell broadband engine. In: Proceedings of ICCS’09, Springer, pp. 954–963 (2009)
Metadaten
Titel
Introducing and Implementing the Allpairs Skeleton for Programming Multi-GPU Systems
verfasst von
Michel Steuwer
Malte Friese
Sebastian Albers
Sergei Gorlatch
Publikationsdatum
01.08.2014
Verlag
Springer US
Erschienen in
International Journal of Parallel Programming / Ausgabe 4/2014
Print ISSN: 0885-7458
Elektronische ISSN: 1573-7640
DOI
https://doi.org/10.1007/s10766-013-0265-6

Weitere Artikel der Ausgabe 4/2014

International Journal of Parallel Programming 4/2014 Zur Ausgabe