Kann ich CUDA auf dem integrierten Grafikprozessor von Intel ausführen?

85

Ich habe einen sehr einfachen Toshiba-Laptop mit i3-Prozessor. Außerdem habe ich keine teure Grafikkarte. In den Anzeigeeinstellungen sehe ich Intel (HD) Graphics als Anzeigeadapter. Ich habe vor, etwas Cuda-Programmierung zu lernen. Ich bin mir jedoch nicht sicher, ob ich das auf meinem Laptop tun kann, da dort keine cuda-fähige GPU von nvidia vorhanden ist.

Tatsächlich bezweifle ich, ob ich überhaupt eine GPU o_o habe

Ich würde mich freuen, wenn mir jemand sagen kann, ob ich mit der aktuellen Konfiguration CUDA-Programmierung durchführen kann, und wenn möglich auch wissen lassen kann, was Intel (HD) Graphics bedeutet.

Ankit
quelle
11
AFAIK ... CUDA ist spezifisch für NVIDIA
Ahmed Masud

Antworten:

54

Derzeit unterstützen Intel-Grafikchips CUDA nicht. Es ist möglich, dass diese Chips in naher Zukunft OpenCL unterstützen (ein Standard, der CUDA sehr ähnlich ist), dies ist jedoch nicht garantiert und ihre aktuellen Treiber unterstützen OpenCL ebenfalls nicht. (Es ist ein Intel OpenCL SDK verfügbar, das Ihnen derzeit jedoch keinen Zugriff auf die GPU gewährt.)

Die neuesten Intel-Prozessoren (Sandy Bridge) verfügen über eine im CPU-Kern integrierte GPU. Ihr Prozessor ist möglicherweise eine Version der vorherigen Generation. In diesem Fall ist "Intel (HD) -Grafik" ein unabhängiger Chip.

Eugene Smith
quelle
2
Intel scheint nun auf einigen Plattformen OpenCL-Treiber für die HD-Grafik zu bewerben (siehe unterstützte Plattformen hier: software.intel.com/en-us/articles/… )
charo
3
"Neueste Intel-Prozessoren (Sandy Bridge) haben eine im CPU-Kern integrierte GPU" - bedeutet dies, dass die GPU an allen Berechnungen beteiligt ist (z. B. Matrixmultiplikationen)?
QtRoS
Es ist auch möglich, CUDA-Programme mit dem Coriander- Compiler in OpenCL 1.2 zu konvertieren .
Anderson Green
17

Die Portland-Gruppe hat ein kommerzielles Produkt namens CUDA x86. Es handelt sich um einen Hybrid-Compiler, der CUDA C / C ++ - Code erstellt, der entweder auf einer GPU ausgeführt werden kann oder SIMD auf einer CPU verwendet. Dies erfolgt vollständig automatisiert, ohne dass der Entwickler eingreifen muss. Hoffe das hilft.

Link: http://www.pgroup.com/products/pgiworkstation.htm

user1401491
quelle
Vielen Dank. Können Sie der Seite auch einen Link hinzufügen, auf dem ich sie mir ansehen kann?
Ankit
Hier ist der Link, Sie können eine 30-Tage-Testversion herunterladen
user1401491
Ist es möglich, nvcczu ihrem Compiler zu wechseln und zu erwarten, dass er für x86 kompiliert wird?
Bindestrich
7

Wenn Sie eine Sprache lernen möchten, die massive Parallelität unterstützt, sollten Sie sich für OpenCL entscheiden, da Sie keine NVIDIA-GPU haben. Sie können OpenCL auf Intel-CPUs ausführen, aber bestenfalls lernen Sie, SIMDs zu programmieren . Die Optimierung von CPU und GPU ist unterschiedlich. Ich glaube wirklich nicht, dass Sie Intel-Karte für GPGPU verwenden können .

Kapitän
quelle
3

Intel HD Graphics ist normalerweise der On-CPU-Grafikchip in neueren Core i3 / i5 / i7-Prozessoren.

Soweit ich weiß, wird CUDA (eine proprietäre NVidia-Technologie) nicht unterstützt, OpenCL wird jedoch von NVidia, ATi und Intel unterstützt.

Martijn
quelle
2
Keine der aktuellen Intel Embedded GPUs unterstützt openCL. Sandybridge und neuere unterstützen es zwar auf der CPU, aber in diesem Fall ist es wahrscheinlich nicht schneller als SIMD
Martin Beckett