Das Wissensportal für IT-Professionals. Entdecke die Tiefe und Breite unseres IT-Contents in exklusiven Themenchannels und Magazinmarken.

SIGS DATACOM GmbH

Lindlaustraße 2c, 53842 Troisdorf

Tel: +49 (0)2241/2341-100

kundenservice@sigs-datacom.de

Hello World mit Data Parallel C++

Mit Hardwarebeschleunigern für HPC- und KI-Systeme wird das Programmieren in Zukunftimmer paralleler werden. Spannende Zeiten für Entwickler, die heute mit C++ arbeiten. Eine der grundlegenden Neuerungen, die oneAPI für sie bringt, ist das Programmiermodell Data Parallel C++, kurz DPC++. Dabei handelt es sich um ein modernes, paralleles C++ für heterogene Architekturen. Die Basis bildet Khronos SYCL. Ein kurzes Tutorial verschafftKennern von C++ Klarheit.

„Hello World“ macht in einem Programmiermodell, das viele Dinge parallel macht, nicht viel Sinn. Wir starten deshalb mit der Vektoraddition als dem „Hello World“ der parallelen Programmierung.

Die Operation, die wir implementieren möchten, ist SAXPY. Das steht kurz für A-mal X plus Y mit einfacher Genauigkeit. Diese Operation kann in C oder C++ wie folgt implementiert werden:

for (size_t i=0; i<length; ++i) {

Z[i] += A*X [i] + Y[i];

}

Es gibt viele weitere Möglichkeiten, diese Operation in C++ …