Prozessoren mit mehreren Kernen sind heute bereits sehr weit verbreitet. Vertreter solcher Architekturen sind beispielsweise moderne Grafikprozessoren, die aus bis zu 4608 so genannter Stream Processors und 576 Tensor-Recheneinheiten bestehen können. Mehrkernprozessoren besitzen eine sehr hohe theoretische Rechenleistung und eröffnen dadurch faszinierende neue Möglichkeiten in naturwissenschaftlichen und anderen berechnungsintensiven Bereichen, wie etwa Multimediaanwendungen, Medizintechnik oder Finanzwirtschaft. Damit die Leistungsfähigkeit voll ausgeschöpft werden kann, muss jedoch eine effiziente Abbildung von Algorithmen auf die Architektur des jeweiligen Mehrkernprozessors gefunden werden. Gegenüber traditionellen Einkernprozessoren ist dabei oftmals ein radikales Umdenken bei der Programmierung erforderlich.
Ziel des Seminars ist es, Einblicke in modernste Mehrkernarchitekturen, z.B. KI-Beschleuniger, und deren Programmierparadigmen zu vermitteln. Um praktische Entwicklungserfahrung zu sammeln, werden u.A. NVIDIA TITAN RTX, Intel Neural Compute Sticks und Tegra AGX Systeme angeboten. Für die Projektarbeit im Team stehen neueste Softwareentwicklungswerkzeuge (TensorRT, OpenVINO, C++ 20, SYCL, CUDA, OpenCL, OpenMP + MPI) zur Verfügung.