AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Rechnen mit der GPU

Ein Thema von Rociel · begonnen am 6. Jul 2010 · letzter Beitrag vom 9. Nov 2013
Antwort Antwort
Seite 1 von 2  1 2      
Rociel

Registriert seit: 13. Feb 2005
Ort: Könnern/MD
107 Beiträge
 
Delphi 2006 Personal
 
#1

Rechnen mit der GPU

  Alt 6. Jul 2010, 18:20
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!
Kommt ein Nullvektor zum Psychiater: "Herr Doktor, Herr Doktor ich bin so orientierunglos."
Mitglied der anonymen Algebraabhängigen
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#2

AW: Rechnen mit der GPU

  Alt 6. Jul 2010, 18:30
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

Geändert von blackfin ( 6. Jul 2010 um 18:44 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: Rechnen mit der GPU

  Alt 6. Jul 2010, 19:01
Zitat:
Teile jedes Item eines Arrays durch die Zahl 2
shr 1 in der CPU wäre wohl ausreichend und vielleicht sogar schneller

(Tschuldschung, aber ich konnte grade nicht anders)
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#4

AW: Rechnen mit der GPU

  Alt 6. Jul 2010, 19:13
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
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Micha88
(Gast)

n/a Beiträge
 
#5

AW: Rechnen mit der GPU

  Alt 11. Nov 2011, 16:11
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.

Geändert von Micha88 (11. Nov 2011 um 16:29 Uhr)
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#6

AW: Rechnen mit der GPU

  Alt 11. Nov 2011, 16:33
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.
  Mit Zitat antworten Zitat
Micha88
(Gast)

n/a Beiträge
 
#7

AW: Rechnen mit der GPU

  Alt 11. Nov 2011, 16:57
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).
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#8

AW: Rechnen mit der GPU

  Alt 11. Nov 2011, 20:05
Schau dir doch das hier mal an. Link! Vielleicht hilft es dir ja weiter.
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Micha88
(Gast)

n/a Beiträge
 
#9

AW: Rechnen mit der GPU

  Alt 12. Nov 2011, 13:54
Genau das nutze ich im Moment.

http://www.delphipraxis.net/164435-f...ml#post1135854
  Mit Zitat antworten Zitat
Sougetsu

Registriert seit: 18. Feb 2009
20 Beiträge
 
#10

AW: Rechnen mit der GPU

  Alt 5. Nov 2013, 20:43
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:53 Uhr.
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