Archiv verlassen und diese Seite im Standarddesign anzeigen : Cuda Tutorial
robobimbo
2009-06-22, 18:20:19
http://lmgtfy.com/?q=cuda+tutorial
DocEW
2009-06-22, 19:14:11
Geniale Seite! :D
Hab ich natürlich schon gemacht, aber da findet man einfach keine Gute.
Wäre deswegen schön wenn jemand ein gutes sagen würde.
Byteschlumpf
2009-06-22, 21:37:16
Kannst du C?
Byteschlumpf
2009-06-22, 22:03:11
Dann sollte das dir doch sicher helfen können:
http://www.nvidia.com/docs/IO/47904/VolumeI.pdf
tomvos
2009-06-22, 22:03:19
Ich arbeite mich gerade durch das Tutorial von Dr. Dobbs durch.
http://www.ddj.com/cpp/207200659
Das wird auch auf der CUDAzone empfohlen. Schau auch mal nach der CUDA u bei nVidia.
http://www.nvidia.com/object/cuda_home.html#
Am meisten hat mir der CUDA Programming Guide geholfen, gibts auf der nVidia-Homepage.
Danke, werd mir das Tutorial von Dr. Dobbs dann mal durchlesen.
Noch eine Frage: Weiß einer wie man in CUDA mit Strings herumhantiert?
Ich will eine Applikation schreiben, die auf der Grafikkarte einzelne Chars aus einem String nimmt und dann was damit macht, und einen neuen String erstellt etc.
Gibt es einfache vorgefertigte Stringsmethoden für CUDA, oder muss ich mir die selber schreiben?
Danke, werd mir das Tutorial von Dr. Dobbs dann mal durchlesen.
Noch eine Frage: Weiß einer wie man in CUDA mit Strings herumhantiert?
Ich will eine Applikation schreiben, die auf der Grafikkarte einzelne Chars aus einem String nimmt und dann was damit macht, und einen neuen String erstellt etc.
Gibt es einfache vorgefertigte Stringsmethoden für CUDA, oder muss ich mir die selber schreiben?
Also sowas macht man aber wirklich nicht auf der Graka. Da dauert allein der Transfer in den Grafikram und wieder zurück wahrscheinlich länger als die komplette Prozedur in sauberem C++.
CUDA macht Sinn bei massiv datenparallelen Problemen.
Nachtrag:
Und nein, Strings gibt es in CUDA natürlich nicht. Wozu auch?
http://lmgtfy.com/?q=cuda+tutorial
Enable javascript to use LMGTFY
:/
Also sowas macht man aber wirklich nicht auf der Graka. Da dauert allein der Transfer in den Grafikram und wieder zurück wahrscheinlich länger als die komplette Prozedur in sauberem C++.
CUDA macht Sinn bei massiv datenparallelen Problemen.
Das weiß ich natürlich.
Mein Programm soll sich natürlich nicht darauf beschränken, einfach nur an einem String was zu ändern und das zurückzugeben.
Es passiert gleichzeitig auch noch eine Menge anderer Kram, und das ganze wird auch mega parallel (mehr will ich nicht verraten).
Aber an einer Stelle muss halt mit Strings rumhantiert werden. :/
OK ich merke gerade das sich das erledigt hat, weil ich die nötigen Operationen auf einem char* ganz einfach selbst implementieren kann.
Das weiß ich natürlich.
Mein Programm soll sich natürlich nicht darauf beschränken, einfach nur an einem String was zu ändern und das zurückzugeben.
Es passiert gleichzeitig auch noch eine Menge anderer Kram, und das ganze wird auch mega parallel (mehr will ich nicht verraten).
Aber an einer Stelle muss halt mit Strings rumhantiert werden. :/
Das meine ich ja. "An einer Stelle muss halt mit Strings hantiert werden" klingt nach einem Problem welches sich sehr schlecht dafür eignet auf der Grafikkarte implementiert zu werden. Es reicht auch nicht wenn du "eine Menge anderen Kram" hast der parallel laufen kann (sowas wäre ein Fall für Multicore Prozessoren, aber nicht für Grakas).
Sagt dir SIMD was?
Wenn du also nicht mind. eine Million oder so Strings hast auf die alle dieselbe Operation ausgeführt werden soll, dann vergiss das mit CUDA lieber wieder.
Warum erzählst du nicht prinzipiell worum es geht (musst ja keine Details verraten), dann können wir das besser einschätzen.
Na gut, es geht darum per Bruteforce mit einem bestimmten Entschlüsslungsalgo einen String zu entschlüsseln, und anschließend Eigenschaftswerte des entschlüsselten Strings zu berechnen (das soll dann das Ergebnis sein).
Das lässt sich natürlich Prima parallelisieren, weil jeder Thread den String mit einem anderen Key entschlüsseln kann.
Am Ende soll jeder Thread einfach nur einen Zahlenwert (Integer) zurückgeben, welcher halt eine Eigenschaft des entschlüsselten wiederspiegelt (und an dem ich erkennen kann, welcher Schlüssel der richtige war).
MadMax@
2009-06-24, 19:08:24
Woher willst du den wissen welcher Schlüssel der richtige ist sprich woher weiß die GPU das gerade der Buchstabensalt den sie entschlüsselt hat die Ursprüngliche Nachricht darstellt
Es gibt verschiedene Arten und Weisen, einen Text auf seine natürlichsprachliche Wahrscheinlichkeit hin zu testen.
Einfach mal in irgend einem Buch über Kryptographie rumstöbern ;)
MadMax@
2009-06-25, 14:28:11
Das ist mir schon klar wie das funktioiert mir ist nur nicht klar wie das auf der GPU aussehen soll
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.