Eintrag vom 14.05.2020
Angebotsnr. IPE 03-20

IPE 03-20 Internship or Master Thesis: High-speed inter-operation between CUDA and OpenCL platforms

Stelle ist zu besetzen ab: 01.01.1970


CUDA and OpenCL are platforms to write fast and efficient general-purpose applications for GPUs. OpenCL is running on a variety of different hardware. CUDA is developed by NVIDIA and supports NVIDIA GPUs only. On the other hand, CUDA is a more mature technology which provides significantly better development tools and a large collection of high-performance libraries. The NVIDIA GPUDirect technology is invaluable for low latency real-time application. It allows direct communication between GPUs and other devices on the PCIe bus, but is only available on CUDA platform as well. While both platforms have similar concepts and define a very similar syntax, the communication between OpenCL and CUDA components is not directly possible.

The goal of the project to investigate how it is possible to inter-operate modules written in CUDA and OpenCL with a minimal penalty to the performance. The student is expected to evaluate different approaches, measure associated performance penalty, and apply the selected approach to OpenCLbased UFO image-processing framework.

The goal is to

  • Facilitate GPUDirect technology if NVIDIA GPUs are used
  • Enable utilization of NVIDIA developer tools with OpenCL plugins
  • Add support for plugins written in CUDA

There are several possible approaches to explore:

  • Both CUDA and OpenCL are able to inter-operate with OpenGL to combine computing and visualization. OpenGL can be used as intermediate layer to provide inter-operation between CUDA and OpenCL
  • POCL (Portable Computing Language) is an opensource OpenCL platform supporting CPUs and GPUs. For NVIDIA GPUs, it serves as a bridge between an OpenCL application and CUDA framework. It should be possible to extend POCL to expose CUDA structures hidden beneath OpenCL abstraction.
  • LLVM infrastructure may be utilized to convert between CUDA and OpenCL dialects on the fly. Particularly, AMD develops ROCm framework which includes tool to convert CUDA applications to AMD HCC. The resulting code can be, then, executed on NVIDIA with CUDA or AMD using OpenCL.

Persönliche Qualifikation

Required Skills:

Good background in computer architecture, strong knowledge of C/C++ programming. Prior

experience in Linux kernel programming and parallel programming using CUDA or OpenCL is a plus.


Institut für Prozessdatenverarbeitung und Elektronik (IPE)

Contract Duration

imited, according to the study regulations.

Contact person in line-management

Suren Chilingaryan: suren.chilingaryan@kit.edu

Phone: +49 721 / 608 26579

Andreas Kopmann: andreas.kopmann@kit.edu

Phone: +49 721 / 608 24910

Zur Bewerbung Zur offiziellen Anzeige

Art der Anzeige
  • Befristete Anstellung
Gesuchter Karrierestatus
  • Berufserfahrene/r > 2 Jahre
  • Karlsruhe und Umgebung
  • Sonstige Bereiche
Sprache am Arbeitsplatz
  • Deutsch
Art des Unternehmens
  • Wissenschaftliche Einrichtung


Frau Ann-Kathrin Schaber
Personalentwicklung und Berufliche Ausbildung (PEBA) - Abteilung Berufliche Ausbildung
E-Mail: Melden Sie sich bitte an,
um die E-Mail Adresse lesen zu können


Personalentwicklung und Berufliche Ausbildung (PEBA) - Abteilung Berufliche Ausbildung

Top Jobs