Wir wir alle (hoffentlich) wissen, stellen die Grafikkarten-Hersteller uns einige Tools zur Verfügung, die wir benutzen dürfen, um Programme mit ihren Grafikkarten zu verwenden. So stellt nVidia ein CUDA SDK (Ausführen von Threads auf der Grafikkarte), ein PhysX SDK (Ausführen von Physikberechnungen auf der Grafikkarte) und in Kürze hoffentlich auch das OptiX SDK (RayTracing auf der Grafikkarte) zur Verfügung.
Ich würde nun gern sehen, dass diese Toolkits für PureBasic zur Verfügung stehen (auch, weil es mich in den Fingern juckt, damit zu arbeiten), aber allein werde ich wohl kaum in der Lage sein, diese Aufgabe zu bewältigen. Wer würde mir denn mit Rat und Tat zur Seite stehen?
Für CUDA stelle ich mir ein einfaches Interface vor..
InitCUDA() soll die Umgebung initialisieren und gleichzeitig die anzahl der CUDA-Prozessoren zurückliefern. Wenn InitCUDA() als Rückgabewert 0 zurückgibt, heißt das dann neben "Init gescheitert" auch, dass keine CPUs zur Verfügung stehen.
RunCUDA(*Pocedure, [Parameter]) wäre dann für eine Prozedurausführung zuständig. Es ist mir bisher bekannt, dass diese Prozeduren nur die Parameter verwenden darf, die mitgeliefert werden (also Global kann auch in einem CUDA-Thread nicht verwendet werden).
Natürlich sollten dann noch ein paar Befehle dazu kommen, das ist erst mal ein Beginn (und das wichtigste).
Mit PhysX und OptiX habe ich noch nicht allzu viele Erfahrung, aber ich habe mit Mirror's Edge und Quake:Raytraced (zumindest ansatzweise) gesehen, wozu die Technologien fähig sind.
Natürlich wären auch Tools denkbar, die das gleiche für AMD-GPUs bereitstellen. Havoc statt PhysX zum Beispiel, aber mit gleichen Befehlen.
nVidia Tools für PureBasic
Re: nVidia Tools für PureBasic
Bevor ich das wichtigste vergesse..
CUDA SDK:
http://www.nvidia.com/object/cuda_sdks.html
PhysX SDK:
http://developer.nvidia.com/object/physx.html
OptiX SDK:
http://developer.nvidia.com/object/optix-download.html
CUDA SDK:
http://www.nvidia.com/object/cuda_sdks.html
PhysX SDK:
http://developer.nvidia.com/object/physx.html
OptiX SDK:
http://developer.nvidia.com/object/optix-download.html
- coder
- Beiträge: 204
- Registriert: 25.09.2005 17:53
- Computerausstattung: Intel Core2Quad Q8200 @ 2.33GHz
ASUS P5Q3, 2GB DDR3-1066 RAM, ATi Raedeon HD 4850 - Wohnort: Deutschland
- Kontaktdaten:
Re: nVidia Tools für PureBasic
Ähh, nur mal so 'ne Frage...
Aber muss man nicht hochoptimierten Code für die GPU-Cores schreiben, wenn APIs wie CUDA oder STREAM nutzen will?
Ich hab mal gelesen, dass das gar nicht so einfach sein soll, da dieser Code auf hunderten Kernen gleichzeitig lauffähig sein muss, um die gesamte GPU zu nutzen.
frohe Weihnachten
Aber muss man nicht hochoptimierten Code für die GPU-Cores schreiben, wenn APIs wie CUDA oder STREAM nutzen will?
Ich hab mal gelesen, dass das gar nicht so einfach sein soll, da dieser Code auf hunderten Kernen gleichzeitig lauffähig sein muss, um die gesamte GPU zu nutzen.
frohe Weihnachten
Windows 7 x64 | PureBasic 4.60 4.50 4.02
Ja verdammt, meine Eltern wohnen immer noch bei mir!
Ja verdammt, meine Eltern wohnen immer noch bei mir!
Re: nVidia Tools für PureBasic
So wild ist das nun wieder auch nicht. Es macht sowieso nur Sinn paralelisierbare Probleme mit der GPU zu lösen.coder hat geschrieben:Ähh, nur mal so 'ne Frage...
Aber muss man nicht hochoptimierten Code für die GPU-Cores schreiben, wenn APIs wie CUDA oder STREAM nutzen will?
Ich hab mal gelesen, dass das gar nicht so einfach sein soll, da dieser Code auf hunderten Kernen gleichzeitig lauffähig sein muss, um die gesamte GPU zu nutzen.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!