GPUs sind hochparallel arbeitende Architekturen mit potentiell tausenden Cores und vielfacher Speicherbandbreite verglichen mit CPUs. Dafür haben sie meistens eine geringere Taktrate, was sich in schlechterer single-thread Performance niederschlägt. Daher eignen sich GPUs hervorragend um den hoch-skalierbaren Teil des Codes auszuführen. Beispielsweise lassen sich Neuronale-Netze effizient auf Grafikkarten trainieren. Dafür steht in unserem Institut ein CUDA-Cluster bereit. Die bevorzugte Programmiersprache für Nvidia-Grafikkarten ist hierbei CUDA. Im Folgenden eine Liste der Anwendungen von CUDA in unserem Institut:
- Erkennung von SIFT-Features
- Stereoberechnung mittels Semi-Global-Matching
- Pixelweise Bildsegmentierung zur Verbesserung der Onlinekalibrierung