Matlab rechnet auf der Grafikkarte

Als einzige Funktion unterstützt das Plug-in von Nvidia die für wissenschaftliche Berechnungen so fundamentale 2D-FFT (Fast Fourier Transformation), und das auch nur in einfacher Genauigkeit.

In Pocket speichern vorlesen Druckansicht 166 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Oliver Lau

Grafikprozessoren lassen sich zu weit mehr nutzen als für die Berechnung komplexer 3D-Szenarien in CAD-Programmen oder Ego-Shootern. In Gestalt von CUDA (Compute Unified Device Architecture) hat Nvidia jüngst ein Entwicklerkit freigegeben, das die Ausführung komplizierter, in C programmierter Berechnungen auf der Grafikkarte ermöglichen soll. Nun kommt das passende Matlab-Plug-in dazu.

Wissenschaftliche Simulationen sollen dadurch um ein Vielfaches schneller werden. Andy Keane, Chef der GPU-Computing-Abteilung bei Nvidia spricht vom Faktor 12 bei einer typischen 2D-Simulation isotroper Turbulenzen mit einer Auflösung von 1024 × 1024 Punkten. Das bedeutet, dass mit der Übertragung der Berechnungen von der CPU an den Grafikprozessor der Wissenschaftler nicht mehr volle zwei Tage auf das Ergebnis warten muss, sondern nur noch vier Stunden. Dieser Performanceschub lässt sich aber nur erzielen, wenn die Simulation viel mit schnellen Fourier-Transformationen (FFT) hantiert: 2D-FFTs sind nämlich die einzige derzeit vom Matlab-Plug-in unterstützte Funktion. Außerdem muss er sich auf eine geringere Genauigkeit als die für wissenschaftliche Berechnungen übliche doppelte einstellen: CUDA unterstützt nur single-precision.

Nvidias CUDA ist eines der vielen Projekte, die den wachsenden Markt von Coprozessoren für sich gewinnen wollen. In direkter Konkurrenz dazu steht AMD mit seinem Stream Processor, wobei zukünftig mit dem Fusion-Chip die verschiedenen Architekturen von GPU und CPU ineinander verschmelzen sollen. Intel will etwas Ähnliches bereits im nächsten Jahr mit dem Nehalem und Larrabee umsetzen. Das Plug-in steht zum kostenlosen Download auf den Nvidia-Entwicklerseiten bereit. (ola)