Geforce mit C++

Mizukag3

Lt. Junior Grade
Registriert
Feb. 2007
Beiträge
336
Hallo liebe Leute!


Wollte mal wissen wie das jetzt genau ist undzwar:


1.)Welche Geforce unterstützt C++? (nur High-End oder auch die Low-End Klasse?)
2.)Wieweit wird C++ unterstützt? (welche grenzen existieren?
und 3.) Kann man Theoretisch sein C++ programm auf die GPU hin optimieren und es dann auch schneller als mit der CPU ausführen?



würde mich mal interessieren


Danke!
 
Was du meinst ist Cuda oder OpenCL...

In brauchbarer Form wird das von Karten unterstüzt die auch folgendes haben:
- Shader 4.0
- Shader 5.0 ( Hier geht definitv mehr! )

-> Schau einfach mal nach Cuda, ist am besten Dokumentiert. Das ganz ist aber nicht so einfach...
Du arbeitest halt auf der GPU und bist daher eingeschränkt. Du kannst ja dann keine Windows API aufrufen oder sowas! Generell hast du immer ein normales Programm welches auf dem System läuft und dann über irgend eine Form von Shared Memory die Daten und das GPU-Programm an die Graka schickt. Dann lässt du die GPU ne Runde rechnen, und holst dir das Ergebnis ab ( etwas sehr vereinfacht :-) )
 
Zuletzt bearbeitet:
1. Alle GeForce Karten ab der 8800
2. Du musst das CUDA-SDK runterladen und kannst das dann benutzen um Operationen auf der Grafikkarte auszuführen.
3. Man kann es optimieren. Am meisten profitieren hochparallel laufende Programme vom GPU-Processing, da man vereinfacht annehmen kann, dass jeder der teilweise >400 Cuda-Cores einen Thread, bzw. einen CPU-Kern darstellt.
 
Sorry, hätte mal Sofort gucken sollen:

Mit deine HD5770 schaust du nach OpenCL, nicht nach Cuda! OpenCL ist ein Standard, der ( theoretisch ) mit ATI und Nvidia Karten laufen sollte.

EDIT2: sorry, nicht mein Tag... in der Überschrift steht Geforce... mich auszulachen ist in Ordnung! Dann doch eher nach Cuda schaun, ist für nen Einsteiger besser, da es imo besser funktioniert und umgesetzt ist
 
Zuletzt bearbeitet:
Danke für die vielen Antworten!

Ah ich verstehe der C++ support bezieht sich auf Cuda!

Opencl soll ja auch was mit C zu tun haben hab ich mal gelesen.
 
schau dir mal das an:
http://developer.download.nvidia.com/compute/cuda/3_2/toolkit/docs/CUDA_C_Programming_Guide.pdf

also einfach nen c++ proggy auf der Grafikkarte rennen lassen ist nicht ;)
ist schon ein bißchen mehr Arbeit...

zu 2.
The front end of the compiler processes CUDA source files according to C++ syntax rules. Full C++ is supported for the host code. However, only a subset of C++ is fully supported for the device code as described in detail in Appendix D

zu 3.
ob's schneller wird hängt von der Aufgabe ab, haste viele voneinander abhängigen Berechnungen lohnt sich meistens nicht... haste was hoch paralleles siehts schon anders aus, alles schön in den Target Ram und ab gehts ;)

schau dir doch am besten in der cuda zone n'bisschen um und schau dir die sdk samples an

Ah ich verstehe der C++ support bezieht sich auf Cuda!

Opencl soll ja auch was mit C zu tun haben hab ich mal gelesen.

Opencl ist auch in c implementiert, der Unterschied zu Cuda ist dass es "Plattformunabhängig" ist, theoretisch kannste damit CPUs, GPus, Cell Prozessoren und n'paar µC programmieren
Cuda ist nur für Nvidia Karten und nur für x86 Architekturen...
in Opencl kannste auch mehrere Targets gleichzeitig ansprechen, haste im Sys eine Ati, eine Nvidia undz.B nen Cell Prozessor sollte das alles benutzt werden können, selber nie getestet..

gruß
 
Zuletzt bearbeitet:
Zurück
Oben