PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : nVidias CUDA (Compute Unified Device Architecture)


Avalox/Gast
2006-11-09, 14:12:03
Ich kopiere mal die einleitenden Wort eines Heise News Artikels.

"Die am gestrigen Mittwoch vorgestellten GeForce-8800-Grafikprozessoren (G80-GPU) und kommende Quadro-Chips von Nvidia sollen außer 3D-Grafik-Kalkulationen auch andere, allgemeinere Rechenaufgaben beschleunigen. Die Compute Unified Device Architecture (CUDA) soll die Verarbeitung von (C-)Programmen auf der Grafikkarte ermöglichen: Die bis zu 128 Stream Processors der G80-Chips sind gruppenweise mit L1- und L2-Cache verbunden und greifen mit hoher Datentransferrate auf den GDDR3- oder später auch GDDR4-Speicher zu. Statt als "Unified Shader" zur Berechnung von Bild-Pixeln schuften sie im CUDA-Modus als flexibel programmierbare Rechenknechte. "

http://www.heise.de/newsticker/meldung/80766

Godmode
2006-11-09, 15:33:25
Mann stelle sich mal vor was für gigantische Rechenleistung mit so einem Cluster realisiert werden könnte!

Avalox
2006-11-09, 17:33:08
Nur läuft halt alles über PCIe ohne Geneseo.
Es scheint allerdings der Weg zu sein, den alle in irgendeiner Richtung einschlagen. Man stelle sich nun mal ein System vor in dem ein im Torrenza Konzept gekoppelter Coprozessor auf ein "quasi" FastRam einer Grafikkarte zugreift. Coprozessoren sind im kommen ich denke das dürfte nun immer klarer werden. Das Zusammenwachsen der Systeme dürfte auch der tatsächliche Grund für die AMD Einkauftour bei ATI gewesen sein.

pajofego
2006-11-12, 22:58:48
Hat sich schon jemand bei nvidia für CUDA registriert? Ich wollte mehr Informationen haben und habe mich daraufhin registriert. Leider bekame ich keine Antwort. Beim absenden des Formulars erscheint es immer wieder aber dann leer, obwohl alle Felder ausgefüllt sind.

ScottManDeath
2006-11-13, 04:21:25
Das mit dem Antworten kann eine Weile dauern...

Ich flieg nächste Woche zu einem CUDA Workshop, weiß aber nicht ob ich dann unter NDA bin oder nicht :(

pajofego
2006-11-13, 22:01:02
Das mit dem Antworten kann eine Weile dauern...

Ich flieg nächste Woche zu einem CUDA Workshop, weiß aber nicht ob ich dann unter NDA bin oder nicht :(

Hi ScottManDeath,

ich gehe eher davon aus, dass ich nicht in diesen elitären Club rein darf ;)

Falls du drinnen bist - ich weiß das man einen Maulkorb versetzt bekommt - könnte mich mal folgende Frage interessieren, die du mir dann evt. beantworten könntest.

Normalerweise muss man sich ganz schön einen abbrechen, wenn man numerische Simulationen auf der GPU durchführen will. Schon so kleine Sachen wie das Maximum einer Matrix zu bestimmen erfordert ganz schön viel Geschick bzw. man muss an die Sache etwas anders angehen. Ich stelle mir CUDA so vor, dass man das Anlegen einer Matrix so ähnlich durchführen kann wie in "normal C". Sprich man schreibt unter Einbeziehung von Extensions ein C Programm und der dortige spezielle Compiler wandelt das so um, dass die GPU damit was anfagen kann. So meine Traumwelt. Vielleicht kannst du uns dann ein Beispielcode beschreiben, wie z.B. das Anlegen einer Matrix und das Durchiterieren in so einer Matrix mit CUDA so funktioniert.

Danke,

Gruß

pajofego

ScottManDeath
2006-11-14, 07:37:54
Joa, mal sehen.

Avalox
2006-11-14, 22:11:08
Mal sehen wie man AMDs neue Stream Prozessoren ansprechen wird...

"AMD/ATI-Grafikchips als "Stream Processors"

http://www.heise.de/newsticker/meldung/80980

ScottManDeath
2006-11-14, 23:01:48
Soweit ich weiß, ist muss man bei ATI entweder (DX9 Assembly) Shader oder GPU spezifischen Assembler schreiben, während man für CUDA C Code (mit Erweiterungen) schreibt, der von der "Runtime" in GPU spezifischen Microcode umgesetzt wird.

Simon
2006-11-14, 23:40:01
Normalerweise muss man sich ganz schön einen abbrechen, wenn man numerische Simulationen auf der GPU durchführen will. Schon so kleine Sachen wie das Maximum einer Matrix zu bestimmen erfordert ganz schön viel Geschick bzw. man muss an die Sache etwas anders angehen. Ich stelle mir CUDA so vor, dass man das Anlegen einer Matrix so ähnlich durchführen kann wie in "normal C". Sprich man schreibt unter Einbeziehung von Extensions ein C Programm und der dortige spezielle Compiler wandelt das so um, dass die GPU damit was anfagen kann. So meine Traumwelt. Vielleicht kannst du uns dann ein Beispielcode beschreiben.
So funktioniert das mit RapidMind (http://www.rapidmind.net/) schon seit einer ganzen Weile. Damit kannst du auch recht einfach zwischen CPU und GPU (und Cell) umschalten und vergleichen. Davor gab es SH (http://www.libsh.org/). Aber schön, dass die Grafikkartenhersteller das jetzt auch unterstützen =)

Android
2006-11-14, 23:47:44
Soweit ich weiß, ist muss man bei ATI entweder (DX9 Assembly) Shader oder GPU spezifischen Assembler schreiben, während man für CUDA C Code (mit Erweiterungen) schreibt, der von der "Runtime" in GPU spezifischen Microcode umgesetzt wird.

Jepp. Du kannst aber glücklicherweise auch Nvidias Cg nutzen um ATI GPU's zu missbrauchen. Auf jeden Fall besser als der Render"Affe". :D
CUDA ist aber auf jeden Fall ne nette Erleichterung. :)

Mfg
Android

ScottManDeath
2006-11-15, 00:45:34
Klar, aber dann hab ich irgendwie das Problem das ich "Grafikshader" schreibe die in GPGPU Manier ausgeführt werden, ohne dass ich ne Grafok API nutze...

Da ist CUDA ne Ecke angenehmer, da es die GPU áls Rechenknecht abstrahiert und man allgemeinen C Code schreibt.

Klar, man könnte ein C Compiler schreiben, der ATI GPU Mikrocode erstellt; CUDA hat das aber zum jetzigen Zeitpunkt schon...

Gast
2006-11-15, 08:18:28
das schöne an ATIs lösung ist, dass man dort Kontrolle über die GPU hat, z.B. wie der Cache arbeiten soll usw. damit bekommt man einiges an mehr Leistung. Zudem ist ATI nicht so Registerlimitiert wie es bei NVidia immer der Fall ist und gerade das ist wichtig, wenn Man keinen Stack hat.
Jedenfalls meine Meinung.

Asmodeus
2006-11-15, 08:30:48
das schöne an ATIs lösung ist, dass man dort Kontrolle über die GPU hat, z.B. wie der Cache arbeiten soll usw. damit bekommt man einiges an mehr Leistung. Zudem ist ATI nicht so Registerlimitiert wie es bei NVidia immer der Fall ist und gerade das ist wichtig, wenn Man keinen Stack hat.
Jedenfalls meine Meinung.

Denkst Du wirklich, dass es auf einer 8800GTX und folgenden Generationen noch ein Problem mit Registerlimitierungen gibt?

Gruss, Carsten.

ScottManDeath
2006-11-15, 08:51:48
Denkst Du wirklich, dass es auf einer 8800GTX und folgenden Generationen noch ein Problem mit Registerlimitierungen gibt?

Gruss, Carsten.

Ich wollts nicht sagen... :rolleyes:

SKYNET
2006-11-15, 10:15:41
das schöne an ATIs lösung ist, dass man dort Kontrolle über die GPU hat, z.B. wie der Cache arbeiten soll usw. damit bekommt man einiges an mehr Leistung. Zudem ist ATI nicht so Registerlimitiert wie es bei NVidia immer der Fall ist und gerade das ist wichtig, wenn Man keinen Stack hat.
Jedenfalls meine Meinung.

wir reden hier vom G80, nicht vom G7x und kleiner.... :rolleyes:


der G80 ist der ATI so ziemlich in ALLEN punkten mehr als haushoch überlegen, mach ne reise nach alpha proxyma(4.6 lichtjahre) dann weißt du wie der technologische vorsprung G80 vs. R580 derzeit ist....

HellHorse
2006-11-15, 12:36:46
Da ist CUDA ne Ecke angenehmer, da es die GPU áls Rechenknecht abstrahiert und man allgemeinen C Code schreibt.
Kannst du da mal nachfragen, ob da in Zukunft eventuell irgend was in Richtung funktionale Programmiersprachen geschehen wird oder ob C das höchste der Gefühle bleiben wird?

Gast
2006-11-15, 14:47:02
Das ihr es immer so raushängen lasst, dass ihr von NV Leckerlies bekommt, das ist echt putzig.

Ihr wisst doch garnicht wie "G80 ist der ATI " sein wird, sofern ihr nicht neue vs alte Generation vergleicht, und ich spreche wie es bisher über Jahre hinweg war.


Kannst du da mal nachfragen, ob da in Zukunft eventuell irgend was in Richtung funktionale Programmiersprachen geschehen wird oder ob C das höchste der Gefühle bleiben wird?nein, Randgruppen-support wird es nicht geben, wie schon bei CG nicht.

ScottManDeath
2006-11-15, 19:08:10
Das ihr es immer so raushängen lasst, dass ihr von NV Leckerlies bekommt, das ist echt putzig.

Wenn Du nur wüsstest.... :redface:


Ich kann mir vorstellen, das von dritter Partei durchaus eine funktionale Sprache entwickelt wird. Von offizieller Seite seh ich da eher geringe Chancen für die nächste Zukunft :(

Gast
2006-11-16, 07:51:26
Wenn Du nur wüsstest.... :redface:
q.e.d.

pajofego
2006-11-16, 21:54:34
Kurze Frage:

Ist CUDA dann nur für nVidia Chips ab G80 oder wird's auch Unterstüzung für ältere Karten geben wie eine 6800GT?

Gruß

pajofego

AnarchX
2006-11-16, 21:57:34
Kurze Frage:

Ist CUDA dann nur für nVidia Chips ab G80 oder wird's auch Unterstüzung für ältere Karten geben wie eine 6800GT?


>=G80
Denn alles davor ist bei weitem nicht so flexibel programmierbar und hat Schwächen(DB-Performance) die gegen einen solchen Einsatz sprechen.

pajofego
2006-11-16, 22:25:14
>=G80
Denn alles davor ist bei weitem nicht so flexibel programmierbar und hat Schwächen(DB-Performance) die gegen einen solchen Einsatz sprechen.

Gut zu wissen, dann kann ich schon mal anfangen zu sparen für so ein high end System..., irgendwann muss MANN sich von seinem geliebten alten AGP System loseisen könne.

Gast
2006-11-19, 11:50:09
ich wuerde gerne einen vergleich von nvidias und atis gpgpu loesung sehen.
koennte jemand sobald er mit beiden mal gespielt hat seine meinung posten und vieleicht grob vergleichen?

ich hab bisher den eindruck dass man bei ati naeher an die hardware darf, was letzdenendes jedoch auch in mehr arbeit resultiert, bei nvidia darf man nicht so eng tanzen, dafuer aber den guten alten c walzer den jeder kann?

Gast
2006-11-19, 12:13:21
ich wuerde gerne einen vergleich von nvidias und atis gpgpu loesung sehen.
koennte jemand sobald er mit beiden mal gespielt hat seine meinung posten und vieleicht grob vergleichen?
Bei beiden würde man unter NDA stehen und dürfte nichts sagen. ;)

ich hab bisher den eindruck dass man bei ati naeher an die hardware darf, was letzdenendes jedoch auch in mehr arbeit resultiert, bei nvidia darf man nicht so eng tanzen, dafuer aber den guten alten c walzer den jeder kann?
So könnte man es den Gerüchten nach sagen.
Das würde auch bedeuten, dass ATIs Lösung architekturabhängig ist und NVs Lösung nicht. Womit CUDA wesentlich bessere Zukunftschancen hätte.

micki@work
2006-11-20, 09:35:26
So könnte man es den Gerüchten nach sagen.
Das würde auch bedeuten, dass ATIs Lösung architekturabhängig ist und NVs Lösung nicht. Womit CUDA wesentlich bessere Zukunftschancen hätte.bei beiden ist es architekturabaehngig, zwar laeuft es theoretisch bei NV dann auch auf zukuenftigen GPUs, aber ohne optimierung darauf wird es schwer sein die ganze performance wirklich heraus zu kratzen und sobald man hand anlegt, kann man das genau so bei ATIs loesung.

bei beiden geht es seitdem sie UnifiedShader haben und beide loesungen sind gleich gut, nur verschieden realisiert ;)

Gast
2007-10-29, 07:53:19
CUDA gibts ja nun schon etwas länger, gibt es noch keine (OpenSource z.B.) Video-Codecs? Also ich könnte mir vorstellen, daß das Encodieren mit x264 meiner einem G80 auch ganz gut funktionieren kann. Warum gibts da bisher für solche Sachen so wenig und übersehe ich was?

Gast
2007-10-31, 08:23:36
nix? :(

Gast
2008-06-07, 02:26:06
Apple said to have sights on Nvidia's CUDA technology
http://www.appleinsider.com/articles/08/06/06/apple_said_to_have_sights_on_nvidias_cuda_technology.html

Anarchy-HWLUXX
2008-06-10, 02:33:56
Die nächste Version von OS X "Snow Leopard" konzentriert sich auf Optimierungen des Bestehenden Systems und weniger auf neue Funktionen - So werden Multi-Core CPUs besser ausgenutzt und CUDA wird als OpenCL ( Open Computing Language ) mit eingebaut ! (neben so sachen wie Exchange 2007 support )

Release ist in ca. einem Jahr zu erwarten.

---> Aus Apple Pressemitteilung.

http://www.mactechnews.de/news/index.html?id=141307

Spasstiger
2008-07-03, 01:20:56
An der Uni hält CUDA allmählich auch Einzug. Ein Komilitone, der am gleichen Institut wie ich seine Studienarbeit macht, hat sich eine GeForce 9800 GTX von der Uni bezahlen lassen. Als ich den Karton der 9800 GTX bei unserem Admin gesehen habe, dachte ich erst, "wird hier gezockt oder was?", aber dann wurde mir gleich klar, dass sie wohl für CUDA gedacht ist.
Und es scheint auch ganz gut zu funktionieren. Statt 24 Stunden auf einem Athlon 64 X2 dauert eine Feldsimulation mit einer angepassten Simulationssoftware wohl nur noch 2 Stunden. D.h. man kann die Ergebnisse aus der Simulation noch am gleichen Arbeitstag verwenden und muss nicht bis zum nächsten Tag warten.