Autor |
Beitrag |
oOXTCOo
      
Beiträge: 141
Windows XP Prof. 3
Delphi 7
|
Verfasst: Di 24.11.09 17:05
Hallo!
Hat jemand Erfahrung wie man die GPU für berechnungen verwenden kann statt normal über die CPU?
Von NVIDIA scheint es da sowas wie CUDA für Visual Basic zu geben.
Ich würde gerne aufwändige berechnungen über die GPU laufen lassen, nur habe ich keinen Plan wie sowas funktionieren soll?
Wie sage ich der CPU das die Berechnung die GPU übernehmen soll?
Hat das schon jemand gemacht? Gibt es irgendwelche SDK´s oder Sources dazu?
Danke schonmal!
Grüße
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Di 24.11.09 19:10
Bei CUDA handelt es sich um ein SDK, mit dem die Berechnungen implementiert werden und das eine Schnittstelle zum Bedienen der nötigen Funktionen auf der Grafikkarte bereitstellt. Gibt von ATI sowas ähnliches, Name weiß ich grad nicht.
Zumindest läuft die Entwicklung solcher Anwendungen so ab, dass du deine eigentliche Berechnung für die Grafikkarte implementierst und compilierst und über das Framework (z.B. CUDA) nur noch die nötigen Befehle lieferst, um diesen Code in die Grafikkarte zu laden und auszuführen.
Je nach dem, wie man seine Berechnungen lagert, kann aber auch die etwas portablere Variante unter Zuhilfenahme von Shadern funktionieren. Dazu gab's IIRC mal im DGL-Forum einige Beiträge.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
Marc.
      
Beiträge: 1876
Erhaltene Danke: 129
Win 8.1, Xubuntu 15.10
|
Verfasst: Di 24.11.09 19:28
BenBE hat folgendes geschrieben : | Gibt von ATI sowas ähnliches, Name weiß ich grad nicht. |
Es müsste sich dabei um die ATI Stream Technology handeln. 
|
|
Jakob_Ullmann
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: Di 24.11.09 20:03
Klingt interessant. Aber man kann doch als Programmierer nicht einfach sein Programm auf Nvidia / ATI spezialisieren und den anderen ausschließen! Oder geht das irgendwie, dass man Möglichkeiten für beide Hersteller implementiert?
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Di 24.11.09 20:06
nennt sich OpenCL
_________________ wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
|
|
oOXTCOo 
      
Beiträge: 141
Windows XP Prof. 3
Delphi 7
|
Verfasst: Di 24.11.09 20:31
das programm soll möglichst schnell sha1 hash berechnungen durchführen können.
das hört sich auch gut an: Support for multiple GPUs in a single program.
meherer karte in einem server.
|
|
danielf
      
Beiträge: 1012
Erhaltene Danke: 24
Windows XP
C#, Visual Studio
|
Verfasst: Mi 25.11.09 09:33
hehe.. was willst du den hacken?
Aber interessantes Thema, bitte schreib deine Erfahrungen in den Thread.
Gruß Daniel
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 25.11.09 09:46
Ansonsten gibt es noch DirectX 11 mit den computing shaders, die das ebenfalls zur Verfügung stellen. Das habe ich auch schon ausprobiert (allerdings nicht mit Delphi), das funktioniert ganz gut.
Nachteil ist natürlich, dass man auch das entsprechende System mit DirectX 11 braucht.
|
|
oOXTCOo 
      
Beiträge: 141
Windows XP Prof. 3
Delphi 7
|
Verfasst: Fr 27.11.09 03:13
jaenicke hat folgendes geschrieben : | Ansonsten gibt es noch DirectX 11 mit den computing shaders, die das ebenfalls zur Verfügung stellen. Das habe ich auch schon ausprobiert (allerdings nicht mit Delphi), das funktioniert ganz gut.
Nachteil ist natürlich, dass man auch das entsprechende System mit DirectX 11 braucht. |
was das system braucht ist egal, da es sowieso nur am server laufen soll.
ich möchte die entsperrcodes für bestimmte handys per sha-1 bruteforce errechnen.
für mein programm: [url] www.entsperren.net/JAU[/url] kann bb5+ sl2 entsperren (braucht aber ein jaf oder ufs box als interface wegen flashbus und kann huawei modems und datenkarten direkt entsperren oder den code errechnen (ist das hier erlaubt? wenn nicht bitte löschen!)
hast du irgendwelche links, wo ich mir das mit directx 11 mal ansehen kann?
hat diese methode geschwindigkeitsnachteile?
wäre damit meherer grafikkarten bzw. gpu´s ansprechbar?
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Fr 27.11.09 09:46
Wenn's ruhig was kosten darf, würde ich eher zu nem FPGA greifen, weil du dann das Berechnen der Hashes extrem gut parallelisieren kannst und damit auf 1 Hash je Zyklus, bei ggf. ner Latenz von ~2000 Zyklen kommst (bei ~100 MHz). Sollte also genug Durchsatz für deine Zwecke bringen. Da kommen auch moderne Grafikkarten nicht hin 
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Fr 27.11.09 11:02
hat das FPGA auch nen deutschen namen/ne deutsche abkürzung? Wenn ichs google find ich nur was auf englisch und bei sowas is es besser wenn ich alles versteh was ich les.^^
kommando zurück, böses google wollt mir die deutsche wikipediaseite nur ned als ergebnis präsentieren.
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Fr 27.11.09 23:18
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
oOXTCOo 
      
Beiträge: 141
Windows XP Prof. 3
Delphi 7
|
Verfasst: Sa 28.11.09 00:00
BenBE hat folgendes geschrieben : | elundril hat folgendes geschrieben : | kommando zurück, böses google wollt mir die deutsche wikipediaseite nur ned als ergebnis präsentieren.  |
Die ist ja auch irrelevant  |
davon hatte mir schon ein kolege erzählt.
und ich habe das hier gefunden:
Interested in a FPGA hardware and VHDL sources for this hardware who can process over 50000 Milions per second SHA-1 digests?
gibts da schon was fertig programmiertes?
preis?
Zuletzt bearbeitet von oOXTCOo am Sa 28.11.09 00:24, insgesamt 1-mal bearbeitet
|
|
minnime
      
Beiträge: 171
Win 7
Delphi Prism 2011, C# (VS 2010)
|
Verfasst: Sa 28.11.09 00:24
Da schaust du zum Beispiel bei Reichelt, Schuricht oder bei einem anderen guten Elektronikhändler (also nicht bei Conrad). Der reine Baustein ist nicht das Problem der kostet nur ca. 20€ aber da muss noch eine entsprechende Peripherie dran. Das musst du dir wie einen normalen Prozessor vorstellen, der braucht auch ein Board mit Chipsatz, Stromverorgung und I/O. Dazu brauchst du noch ein Programmiergerät um das Ding mit der "Schaltung" zu füttern. Das wichtigste ist allerdings eine gehöhrige Portion Ahnung. Dann könntest du dir das Board selbst entwerfen und bauen, was dann auch relativ einfach und billig ist. Zusätzlich musst du noch eine Hardwareneschreibungssprache (z.B. VHDL) können um die Schaltung im FPGA zu erstellen. Das ist dann im Prinzip wie Assemblerprogrammierung (ja ich weiß eigentlich ist das was ganz anderes)nur dass eben keine Software sondern Hardware dabei entsteht.
Zuletzt bearbeitet von minnime am Sa 28.11.09 01:56, insgesamt 1-mal bearbeitet
|
|
oOXTCOo 
      
Beiträge: 141
Windows XP Prof. 3
Delphi 7
|
Verfasst: Sa 28.11.09 00:27
minnime hat folgendes geschrieben : | Da schaust du zum Beispiel hier:such001.reichelt.de/...7c526b1d7;ACTION=444 oder bei einem anderen guten Elektronikhändler (also nicht bei Conrad). Der reine Baustein ist nicht das Problem der kostet nur ca. 20€ aber da muss noch eine entsprechende Peripherie dran. Das musst du dir wie einen normalen Prozessor vorstellen, der braucht auch ein Board mit Chipsatz, Stromverorgung und I/O. DAzu brauchst du noch ein Programmiergerät um das Ding mit der "Schaltung" zu füttern. Das wichtigste ist allerdings eine gehöhrige Portion Ahnung. Dann könntest du dir das Board selbst entwerfen und bauen, was dann auch relativ einfach und billig ist. Zusätzlich musst du noch eine Hardwareneschreibungssprache (z.B. VHDL) können um die Schaltung im FPGA zu erstellen. Das ist dann im Prinzip wie Assemblerprogrammierung (ja ich weiß eigentlich ist das was ganz anderes)nur dass eben keine Software sondern Hardware dabei entsteht. |
tja nicht so einfach...
ich schau mal ob ich sowas fertig bekommen kann...
ich brüuchte einen universalprommer... ab 500€
mit dem passenden bga aufsätzen.
die platine entwerfen usw... da würde ich ja ewig brauchen, zumal ich mir da jemanden suchen müsste der sich damit auskennt...
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Sa 28.11.09 00:28
Scheinbar ja, und einige Anleitungen dazu:
www.gidf.de/VHDL%20FPGA%20SHA1
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
oOXTCOo 
      
Beiträge: 141
Windows XP Prof. 3
Delphi 7
|
Verfasst: Sa 28.11.09 00:32
danke, begriffen
ich glaube ich habe was passendes gefunden...
|
|