PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Cuda Tutorial


Gast
2009-06-22, 18:06:29
Kennt jemand eines?

robobimbo
2009-06-22, 18:20:19
http://lmgtfy.com/?q=cuda+tutorial

DocEW
2009-06-22, 19:14:11
Geniale Seite! :D

Gast
2009-06-22, 21:15:25
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?

Gast
2009-06-22, 21:58:00
Ja. Sehr gut sogar.

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#

Gast
2009-06-22, 23:26:29
Am meisten hat mir der CUDA Programming Guide geholfen, gibts auf der nVidia-Homepage.

Gast
2009-06-23, 17:26:26
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?

Gast
2009-06-23, 18:15:31
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.

Gast
2009-06-23, 18:18:29
Nachtrag:
Und nein, Strings gibt es in CUDA natürlich nicht. Wozu auch?

Gast
2009-06-23, 19:06:43
http://lmgtfy.com/?q=cuda+tutorial

Enable javascript to use LMGTFY

:/

Gast
2009-06-24, 02:03:18
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. :/

Gast
2009-06-24, 02:24:17
OK ich merke gerade das sich das erledigt hat, weil ich die nötigen Operationen auf einem char* ganz einfach selbst implementieren kann.

Gast
2009-06-24, 11:43:43
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.

Gast
2009-06-24, 15:49:58
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

Gast
2009-06-24, 20:02:04
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