Ich habe spaßeshalber bereits Programme in OpenCL und Cuda geschrieben (beide aus dem Anwendungsgebiet Computer Vision).
Das war vor gut einem Jahr und ich nehme an, dass sich die Art GPUs zu programmieren nicht grundsätzlich geändert hat.
Bei meinen Versuchen war es extrem entscheidend wie der Speicher der GPU verwendet wurde. Je mehr der Shared- und Local Memory genutzt wurde, desto besser. Zugriffe auf den Global Memory sind um Größenordnungen langsamer als Zugriffe auf Local- und Shared Memory. Wichtig war den Speicher bei Datentransfers möglichst so anzusprechen, dass die Hardeware-Block-Transfers verwendet wurden.
Das alles hat im Vergleich zum Programmieren auf der CPU relativ viel Verständnis der Architektur erfordert und man muss sich relativ viele Gedanken über Indizierung von Arrays und die Art in der man seine Daten anordnet machen.
Der Unterschied zwischen meinen ersten und meinen finalen Programmversionen war bei meinen Versuchen etwa ein Faktor 10 in Performanz.
Ich frage mich deshalb, ob es Sinn macht, einen nicht für die GPU optimierten Java-Code einfach auf die GPU zu werfen.
Benutzer wird von Ihnen ignoriert. Anzeigen
Irgendwo gibts doch bestimmt noch paar Code-Schnipsel die man da mal durchjagen könnte , einfach um zu sehen wie viel es denn unter "realen Bedingungen" bringt.
Und wenns den Code für die gleiche Aufgabe dann auch shcon hndisch optimiert gibt hätte man nen schönen Vergleich.
Bin auf dem Gebiet allerdings absolut nicht bedandert, kann daher keine "Schnipsel" beisteuern.
Benutzer wird von Ihnen ignoriert. Anzeigen
ogh schrieb:
> Der Unterschied zwischen meinen ersten und meinen finalen Programmversionen
> war bei meinen Versuchen etwa ein Faktor 10 in Performanz.
>
> Ich frage mich deshalb, ob es Sinn macht, einen nicht für die GPU
> optimierten Java-Code einfach auf die GPU zu werfen.
Absolut. Wenn man Grafikkarten programmiert, muss man wirklich wissen, was man macht. Das Programmiermodell unterscheidet sich wirklich massiv vom dem von General-Purpose-CPUs.
Insofern bin ich auch äußerst skeptisch.
Benutzer wird von Ihnen ignoriert. Anzeigen
edit: missverständnis, der code muss doch extra geschrieben werden...
Insofern nix neues, Ähnliches gibt's bereits für ändere Sprachen
1 mal bearbeitet, zuletzt am 13.08.12 11:09 durch gorsch.
Benutzer wird von Ihnen ignoriert. Anzeigen
Ein paar Testfälle aus den Folien zum Vortrag auf der "International Conference on High Performance Computing" (wären vielleicht auch für den Artikel interessant):
Dense Matrix Multiplication: 67X faster
4096x4096 Matrizen
Brute Force Fourier Transform: 54X faster
n = 114688
Sobel Filter: 3.8X slower
1600x1200 pixel image
(hier wird jeweils Java mit Rootbeer und Java ohne Rootbeer verglichen)
Gerade der letzte Fall macht wohl deutlich, dass die GPU wohl nicht besonders effizient eingesetzt wird. Frage mich aber, woher der Unterschied zu dem ersten Experiment herkommt. Sind schließlich beides Matrixmultiplikationen...
1 mal bearbeitet, zuletzt am 13.08.12 12:01 durch Hotte101.
Benutzer wird von Ihnen ignoriert. Anzeigen
Runde Mac Pro liegen im Weinregal des Rechenzentrums
Bundesnetzagentur senkt Preise für TAL am Schaltverteiler
Datenschützer halten Google Glass für nicht EU-tauglich
Huawei Ascend P6 ist schick und schlank
NSA-Hacker verursachen weltweit Systemabstürze
Kommentare: 260 | letzter Beitrag 18.06. 21:03
Kommentare: 248 | letzter Beitrag 18.06. 20:28
Kommentare: 199 | letzter Beitrag 02:27 Uhr
Kommentare: 151 | letzter Beitrag 00:48 Uhr
Kommentare: 127 | letzter Beitrag 18.06. 14:46
E-Mail an news@golem.de

Schweizer Wissenschaftler haben eine neue Methode entwickelt, mit wenigen Mikrofonen komplexe Räume zu vermessen, ohne wie bisher dabei streng auf die Anordnung der Mikros achten zu müssen. Die Technik könnte in Zukunft in vielen Bereichen angewandt werden, auch auf Smartphones.

Auf der gerade zu Ende gegangenen E3 2013 hat sich Sony mit überwiegend positivem Presseecho für die nächste Konsolengeneration in Stellung gebracht. The Last of Us lässt uns trotzdem für einen Augenblick vergessen, dass die Zeit der Playstation 3 schon bald vorbei sein soll.

Der Videocodec VP9 ist jetzt standardmäßig in der aktuellen Entwicklerversion des Browsers Chromium aktiviert. Die finale Veröffentlichung im August ist damit sehr wahrscheinlich.

Oracle beendet den Support für Java 6. Rund 40 Sicherheitslücken, die teilweise gefährlich sind, dokumentiert Oracle in Java 5, 6 und 7. Doch nur für Java 7 gibt es ein öffentlich zugängliches Sicherheitsupdate. Für Apple-Nutzer gibt es eine Ausnahme.

Huawei hat sein neues Smartphone aus der Ascend-Reihe vorgestellt. Das Ascend P6 setzt weniger auf neue Hardware als auf Design. Es ist schick und schlank und sieht von der Seite aus wie ein iPhone 4.

Die Bundesnetzagentur senkt den monatlichen Mietpreis für die letzte Meile ab dem Schaltverteiler der Deutschen Telekom. Dies sei gut für die Breitbandversorgung, so die Behörde.