Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Rechnen mit der GPU (https://www.delphipraxis.net/152778-rechnen-mit-der-gpu.html)

Rociel 6. Jul 2010 17:20

Rechnen mit der GPU
 
Hi,

ich hab im Netz schon gesucht, aber nicht wirklich was gefunden. Ich suche zur Zeit eine Möglichkeit mathematische Probleme in Delphi schneller zu lösen, und zwar mit der GPU. Nun wollte ich gern wissen, ob jemand von euch eine Möglichkeit kennt über eine Unit/DLL parallelisierbare Berechnungen auf die GPU auszulagern und zwar ohne dass man sich selber um die Parallelisierung kümmern muss. Sprich zum Bleistift:

Teile jedes Item eines Arrays durch die Zahl 2.

Ich hoffe jemand von euch kann mir n paar Tipps geben.

Vielen Dank schonmal im Vorraus!

blackfin 6. Jul 2010 17:30

AW: Rechnen mit der GPU
 
Mhm, hast du dir schon OpenCL angesehen?
Da gabs auch ein Delphi-Beispiel im Emba-Forum:

https://forums.embarcadero.com/threa...threadID=22455

nVidia hat z.B. eine OpenCL-Implementierung in ihren aktuellen Treibern drin, die wrappen das dann intern auf deren CUDA.

Es gibt auch ein Projekt dazu, Delphi-OpenCL:
https://code.google.com/p/delphi-opencl/downloads/list

himitsu 6. Jul 2010 18:01

AW: Rechnen mit der GPU
 
Zitat:

Teile jedes Item eines Arrays durch die Zahl 2
shr 1 in der CPU wäre wohl ausreichend und vielleicht sogar schneller :lol:

(Tschuldschung, aber ich konnte grade nicht anders)

rollstuhlfahrer 6. Jul 2010 18:13

AW: Rechnen mit der GPU
 
Vielleicht noch ein kleiner Hinweis für die Benutzung der GPU: Eine GPU Recheneinheit kann sehr sehr viele Threads verwalten. Aber alle Threads teilen sich den gesamten GraKa-Speicher. Wenn du also eine GraKa mit 512 MB Speicher hast und 1024 Threads dann hat jeder Thread nur 512 KB an Speicher benutzen. Da in der Praxis die Threadanzahlen weit höher liegen, wird der Speicher pro Thread immer kleiner. Selbst die MD5 von sehr vielen Strings zu berechnen läuft auf einer CPU schneller, da der Berechnungsthread immer auf die Ergebnisse der vorherigen Operation warten muss.

Grundsätzlich ist für die GPU nur geeignet, was viel Rechenleistung braucht, aber nicht viel Speicher dazu. Und da die GPU sehr viele Threads unterstützt sollte der Code auch besonders gut multithreadfähig sein.

Bernhard

Micha88 11. Nov 2011 15:11

AW: Rechnen mit der GPU
 
Zitat:

Es gibt auch ein Projekt dazu, Delphi-OpenCL:
https://code.google.com/p/delphi-opencl/downloads/list
Bei mir ist die Datei "Direct3D10.pas" nicht vorhanden, wird aber benötigt.

Also generell kann man das nicht kompilieren,. da hier eine Datei fwehlt, da eine DPR kaputt ist usw.

Gibt es kein e sehr sehr einfache Demo? Eine Demo, auf das Minimum reduziert? ohne unnötige Uses-Einträge.

Sprich: "Rechnen mit der GPU"? Einfach das, was vorher die CPU machte nun auf die GPU bringen.

blackfin 11. Nov 2011 15:33

AW: Rechnen mit der GPU
 
Die Direct3D10.pas dürfte nur ein DirectX-Header sein (wobei ich nicht verstehe, warum gerade OpenCL DirectX brauchen sollte..)
Schau mal auf dein System, ob du evtl. eine D3DX10.pas hast, die dürfte evtl. passen (ausprobieren).



Zitat:

Einfach das, was vorher die CPU machte nun auf die GPU bringen
Das geht per se nicht, da eine GPU schonmal ganz anders aufgebaut ist und die Routinen nur dann wirklich gut skalieren, wenn sie massiv parallelisierbar sind. Sprich: Einfach einen CPU-Code 1:1 auf die GPU mappen geht nicht.

Micha88 11. Nov 2011 15:57

AW: Rechnen mit der GPU
 
Delphi-Quellcode:
Schau mal auf dein System, ob du evtl. eine D3DX10.pas hast, die dürfte evtl. passen (ausprobieren).
Die existiert nicht. Hatte ich vorher schon gecheckt.

1:1 möchte ich den Code nicht portieren. Dass ich den anpassen und erweitern muss, ist mir klar. Aber mit der Demo vom Emba-Forum komme ich nicht klar. Es hagelt gerade zu nur Exceptions (ich habe eine ATI).

divBy0 11. Nov 2011 19:05

AW: Rechnen mit der GPU
 
Schau dir doch das hier mal an. Link! Vielleicht hilft es dir ja weiter.

Micha88 12. Nov 2011 12:54

AW: Rechnen mit der GPU
 
Genau das nutze ich im Moment.

http://www.delphipraxis.net/164435-f...ml#post1135854

Sougetsu 5. Nov 2013 19:43

AW: Rechnen mit der GPU
 
moin,

wollt mal hören ob sich in der Richtung hier was getan hat in den letzten 2 Jahren.

Wäre über das berechnen über die GPU auch interessiert, vorallem ob man damit gut Dateien ver/entschlüsseln kann.
Mit gut meine ich natürlich zuverlässlich und schnell.

Die GPU kommt auf wesentlich mehr Gigaflops als eine CPU.
Dafür ist der Speicher eine Graka eher begrenzt.

Wär toll wenn hier einer damit schon Erfahrungen sammeln konnte.

LG
Sougetsu


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:45 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz