2010-02-04 18 views
6

Ich bin C++ Programmierer, die Bild- und Videoalgorithmen entwickeln, sollte ich Nvidia CUDA lernen? oder ist es eine dieser Technologien, die verschwinden werden?Lerne Nvidia CUDA

Antwort

11

CUDA ist derzeit eine Technologie von NVIDIA mit nur einem Anbieter und hat daher nicht die Unterstützung mehrerer Hersteller, die OpenCL tut.

Allerdings ist es reifer als OpenCL, hat great documentation und die Fähigkeiten, die mit ihm erlernt werden, wird leicht auf andere parallel Datenverarbeitungs-Toolkit übertragen werden.

Als Beispiel dafür, lesen Sie die Data Parallel Algorithms von Steele und Hillis und dann Blick auf die Nvidia tutorials - es gibt eine klare Verbindung zwischen den beiden noch die Steele/Hillis Papier wurde über 20 years geschrieben, bevor CUDA eingeführt wurde.

Schließlich arbeitet das FCUDA Projects daran, CUDA-Projekte auf Nicht-NVIDIA-Hardware (FPGAs) auszurichten.

2

Ich denke, Sie sollten lieber bei OpenCL bleiben, die ein offener Standard ist und von ATI, nVidia und mehr unterstützt wird. CUDA wird vielleicht in den nächsten Jahren nicht verschwinden, aber auf jeden Fall ist es nicht mit Nicht-nVidia-GPUs kompatibel.

+0

Warum der Downvote ??? – AndiDog

3

CUDA sollte für eine Weile bleiben, aber wenn Sie gerade erst anfangen, würde ich empfehlen, Blick auf OpenCL oder DirectCompute. Beide laufen sowohl auf ATI- als auch auf NVidia-Hardware und arbeiten zusätzlich an den Vector Units (SSE) von CPUs.

2

OpenCL könnte etwas dauern, aber ich fand Lernen CUDA sehr informativ und ich denke nicht, dass CUDA in absehbarer Zeit aus dem Rampenlicht gehen wird. Außerdem ist CUDA so einfach, dass die Lernzeit viel kürzer ist als die CUDA-Haltbarkeit.

2

Dies ist die Ära der Hochleistungsrechnen, Parallel Computing. CUDA und OpenCL sind die aufstrebenden Technologien von GPU Computing, die eigentlich ein Hochleistungsrechner sind! Wenn Sie ein leidenschaftlicher Programmierer sind und bereit sind, Benchmark in parallelen Algorithmen zu erreichen, sollten Sie sich wirklich für diese Technologien entscheiden. Daten parallel Teil Ihres Programms wird innerhalb von Sekundenbruchteilen auf GPU-Vielkern-Architektur ausgeführt, die in der Regel viel längere Zeit auf Ihrer CPU dauert.

Verwandte Themen