OpenGL GPGPU-VBO
-
Mich interessiert quasi alle wichtige Linearen Operationen die die GPU beschleunigen kann.
MatrixMultiplikation mit X Vertices,
ScalarMultiplikation mit X Vertices,
SkalarPrudukt von X vertices (array a) und X vertices (array b) á la $$\langle a_i|b_i\rangle$$Kannst Du mir evtl. eins zwo beispiele posten an die ich mich richten kann?
greetz with beatz
-
Was genau willst du damit bezwecken?
-
Ich will rechen. Und zwar mit der ALU der GPU mit einer allgemeinen library die auf verschiedene GraKas "zugriff" hat.
Ich dachte das sei aus dem titel dieses thread ersichtlich!?
Nach OpenCL und SSE habe ich bewusst erst nicht gefragt, da wir hier auch in dem unterforum ".../Grafikprogrammierung" sind.
Also ich habe ein Array aus X vertices (was weiß ich, als VBA oder VBO), auf die ich mit einer Matrix Multipliziere. Das ergebniss hätte ich dann gern ausgelesen.
Als zweites möchte ich X vertices mit einem Scalar, oder mit X scalaren multiplizieren ( $$ sc_i\cdot|a_i\rangle$$). Auch dieses Ergebniss hätte ich gern ausgelesen um es weiter zu verwenden.
Als drittes möchte ich X vertices mittels scalar produkt mit weiteren X vertices multiplizieren. Auch dieses Ergebniss hätte ich gern ausgelesen.
Noch fragen?
Grüße und dank für deine Hilfe,...
-
Wieso sollte OpenCL gegen Grafikprogrammierung sprechen? Es ist zudem eine allgemeine API die zum Durchführen von Berechnungen unter anderem auf Grafikkarten und damit doch genau was du suchst.
Nvidia hat da z.B. unter http://developer.download.nvidia.com/compute/cuda/3_0/sdk/website/OpenCL/website/samples.html ein paar Beispiele, die auch einige von deinen gesuchten Operationen abdecken.
-
Danke für deine Antwort, ich will möglichst wenig zusätzliche librarys verlinken um das resultierende prog so klein wie möglich zui halten.
Allein die OpenGL OpenCL interop beispielanwendung ist mir da zu groß.
Leider scheint das beispielprog aufgrund meiner Quadro NVS 160M irgendwie net zu workeln,...Naja,..dennoch danke für den link, die beispiele hatte ich davor noch nicht gesehen.
Naja,.. ich werde mal mit den VBO's n bissl rumexperimentieren,...
gruß und thx
-
Bildverarbeitungsalgorithmen gehen gut.
Ansonsten lineare Optimierung, Physiksimulationen, FFT ... Es gibt das Buch GPUGems, welches einige Ansaetze bietet. In GPUGems 2 handelt sogar ein ganzes Kapitel davon. Die entsprechende Wikipediaseite: http://en.wikipedia.org/wiki/GPGPU
leider finde ich im netz nüx passendes
Wie du siehst, hast du nicht lange genug gesucht.
-
Sooo,..
ich versuche mal jetzt framework64k und opencl zu verknüppern,.. mal gucken ob etwas gewünschtes herauskommt,....
Danke euch für die info,.. werde die nächsten tage bestimmt mal ein zwo beispiele posten,...
greetz
-
Wenn das ganze sich schon im Kontext einer Echtzeitgrafikanwendung abspielt dann wär das wohl vermutlich am einfachsten über die Direct3D/OpenGL Stream Output Stage zu lösen. Für alles andere würd ich einen Blick in Richtung OpenCL/DirectCompute/NVIDIA CUDA/ATI Stream SDK werfen.
-
Hi,
verstehe ich das richtig das ein readback der daten erst vom FBO wieder möglich ist?
greatz
-
Hängt davon ab. Mit der Stream Output Stage kannst du direkt den Output von einem Vertex bzw. Geometry Shader auffangen, geht allerdings erst auf Direct3D 10 Hardware...
-
Jo danke,..
kennst Du zufällig auch die minimalanforderungen für OpenCL? Bei läuft das zwar aber denn ich befürchte das das auf den zielsystemen evtl. nicht tut,...
greatz
-
Jede Direct3D 10 fähige NVIDIA kann das definitiv (ab GeForce 8), bei ATI sollte das ähnlich ausschaun nur weiß ichs da tbh net ganz genau...