Kompilieren mit der GPU?
-
- Beiträge: 827
- Registriert: 26.05.2008 12:04:54
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Nörten-Hardenberg
-
Kontaktdaten:
Kompilieren mit der GPU?
Ist es eigentlich möglich Software über die CPU und GPU zu kompilieren oder spricht was dagegen?
Würde gerne mal wissen ob dies möglich wäre und wenn ja wie.
Das Thema ist mir gerade in den Sinn gekommen.
Es geht hier wirklich um das auslagern von Kompilier Aufgaben über make.
Gibt es dafür schon Tools oder Ansätze?
Martin
Würde gerne mal wissen ob dies möglich wäre und wenn ja wie.
Das Thema ist mir gerade in den Sinn gekommen.
Es geht hier wirklich um das auslagern von Kompilier Aufgaben über make.
Gibt es dafür schon Tools oder Ansätze?
Martin
Es gibt keine if Schleife -> http://www.if-schleife.de/
Ansonsten GPL/GNU/Linux/Debian/Free Software 4 Ever
Ansonsten GPL/GNU/Linux/Debian/Free Software 4 Ever
Re: Kompilieren mit der GPU?
Hi.
Kommt drauf an, welche Graka du einsetzt. Für NVIDIA gibts zum Beispiel die CUDA-Tools. Hab ich aber noch nie installiert, da ich nicht der Entwickler bin sondern nur einer, der gelegentlich mal was kompilieren muss.
Kommt drauf an, welche Graka du einsetzt. Für NVIDIA gibts zum Beispiel die CUDA-Tools. Hab ich aber noch nie installiert, da ich nicht der Entwickler bin sondern nur einer, der gelegentlich mal was kompilieren muss.
Georg
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft
Re: Kompilieren mit der GPU?
Wie soll man damit compilieren?gbotti hat geschrieben:Für NVIDIA gibts zum Beispiel die CUDA-Tools.
Ich will da jetzt nicht grundsätzlich wiedersprechen. Aber ich halte das ganze für nicht so gut umsetzbar ich meine parallelisieren ist beim compilieren zwar relativ gut möglich. Aber so kompilieren ist doch eher komplex. Das der GPU zu verklickern ist garnaiert nicht so simpel. (10k mal ne MD5summe berechnen ist das eine aber so ein Programmcode compilieren... Guck dir einfach mal an wie viel Zeilen das gcc oder so hat.)Milbret hat geschrieben:Ist es eigentlich möglich Software über die CPU und GPU zu kompilieren oder spricht was dagegen?
rot: Moderator wanne spricht, default: User wanne spricht.
-
- Beiträge: 827
- Registriert: 26.05.2008 12:04:54
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Nörten-Hardenberg
-
Kontaktdaten:
Re: Kompilieren mit der GPU?
@wanne
Klar wäre der Aufwand sowas umzusetzen nicht gerade gering.
Aber das Ergebnis wäre schon interessant.
Alleine weil auf einer GPU an sich mehrere Minu CPUs sitzen.
Im Endeffekt müsste man lediglich einen mini compiler bauen, der den Platformspezifischen Code generiert.
Aber wahrscheinlich ist eine GPU nicht für solche Aufgaben gedacht.
Aber eine Zusatzkarte mit genügend Mini CPUs und eine API dafür könnte man bestimmt für solche Zwecke nutzen.
Wäre interessant wenn es sowas geben würde.
Kennt jemand vielleicht sowas?
Martin
Klar wäre der Aufwand sowas umzusetzen nicht gerade gering.
Aber das Ergebnis wäre schon interessant.
Alleine weil auf einer GPU an sich mehrere Minu CPUs sitzen.
Im Endeffekt müsste man lediglich einen mini compiler bauen, der den Platformspezifischen Code generiert.
Aber wahrscheinlich ist eine GPU nicht für solche Aufgaben gedacht.
Aber eine Zusatzkarte mit genügend Mini CPUs und eine API dafür könnte man bestimmt für solche Zwecke nutzen.
Wäre interessant wenn es sowas geben würde.
Kennt jemand vielleicht sowas?
Martin
Es gibt keine if Schleife -> http://www.if-schleife.de/
Ansonsten GPL/GNU/Linux/Debian/Free Software 4 Ever
Ansonsten GPL/GNU/Linux/Debian/Free Software 4 Ever
Re: Kompilieren mit der GPU?
Ich glaube auch das es da einfach technische Probleme gibt. Im prinzip haben die GPUs mittlerweile ordentlich RAM. Aber ich kann mir irgend wie trotzde nich vorstellen, das die mit relativ komliziertem Code mit Sprüngen und co. noch ordentlich Arbeiten. Außerdem wird der Code nach dem Übersetzen garantiert viel größer (so ein x86 Befehlssatz ist groß.) Konkret kann ich aber nicht sagen. Ich kenne mich mit dem desighn von so ner GPU nicht wirklich aus.Milbret hat geschrieben:Klar wäre der Aufwand sowas umzusetzen nicht gerade gering.
Ich glaube dass so ne Mini CPU nicht wirklich viel billiger ist als eine volle. (Wenn sie volles x86 oder so spricht.)Milbret hat geschrieben:Alleine weil auf einer GPU an sich mehrere Minu CPUs sitzen.
Im Roadrunner (wo's nicht wirklich was aus macht wenn da nochmal fünf mal soviel drin hängt) haben die acuh Opterons und Cell Prozessoren verbaut. Das sind ja ordentlich Brummer. => Ich denke wenn du komplizierte Anwendungen hast hat so ein dicker Prozessor das Bessere Kosten/Rechenleistung Verhältnis. Nur für stupiede Aufgaben lohnt es sich billigere Einheiten zu Bauen, die weniger können.
rot: Moderator wanne spricht, default: User wanne spricht.
- schorsch_76
- Beiträge: 2601
- Registriert: 06.11.2007 16:00:42
- Lizenz eigener Beiträge: MIT Lizenz
Re: Kompilieren mit der GPU?
Eine GPU ist nichts anderes als eine Ansammlung vieler relativ einfacher schneller Prozessoren. Diese sind bei weitem nicht so flexibel wie eine heutige CPU. Die GPU und CPU unterscheiden sich schon was ihre Leistung angeht. Die GPU kann sehr gut viele gleiche Sachen parallel machen. Der Compiliervorgang ist nur sehr komplex. Ich bezweifle dass das (ohne viel Aufwand) auf der GPU gemacht werden kann. Auch denke ich dass falls das laufen sollte nicht den Geschwindigkeitsunterschied ausmachen wird, da das Kompilieren eines Files (C/Cpp/Obj-C) aufwendig ist und nicht parallelisiert werden kann da etliche Schritte einfach sequentiell abgearbeitet werden müssen. Siehe dazu auch [1][4][5]
Das ist übrigens auch das gleiche Prinzip bei Supercomputern. Die können viele gleiche Sachen parallel machen. Erst dass macht sie so schnell. Ohne Parallelisierung geht auch hier nichts. Siehe dazu [2][3]
Gruß
schorsch
[1] http://www.freebsd.org/doc/de/books/dev ... iling.html
[2] http://de.wikipedia.org/wiki/Supercomputer#Aufbau
[3] http://de.wikipedia.org/wiki/Vektorrechner
[4] http://de.wikipedia.org/wiki/Parallele_Programmierung
[5] http://de.wikipedia.org/wiki/Amdahlsches_Gesetz
Das ist übrigens auch das gleiche Prinzip bei Supercomputern. Die können viele gleiche Sachen parallel machen. Erst dass macht sie so schnell. Ohne Parallelisierung geht auch hier nichts. Siehe dazu [2][3]
Gruß
schorsch
[1] http://www.freebsd.org/doc/de/books/dev ... iling.html
[2] http://de.wikipedia.org/wiki/Supercomputer#Aufbau
[3] http://de.wikipedia.org/wiki/Vektorrechner
[4] http://de.wikipedia.org/wiki/Parallele_Programmierung
[5] http://de.wikipedia.org/wiki/Amdahlsches_Gesetz
Re: Kompilieren mit der GPU?
Korrigiert mich, wenn ich falsch liege, aber wird sowas nicht schon mit LLVM im mesa-Zweig realisiert?
(http://en.wikipedia.org/wiki/Llvm)
(http://en.wikipedia.org/wiki/Llvm)
Re: Kompilieren mit der GPU?
Wenn ich den Artikel richtig verstanden habe optimiert der halt GPU Programme. (Auf der GPU.) Dazu müssen sie aber erst mal geschrieben werden.
Was aber immer noch nichts daran ändert, dass ich vermute dass das ding mega langsam wird, Wenn man versucht auf der GPU zu compilieren.
Was aber immer noch nichts daran ändert, dass ich vermute dass das ding mega langsam wird, Wenn man versucht auf der GPU zu compilieren.
rot: Moderator wanne spricht, default: User wanne spricht.
Re: Kompilieren mit der GPU?
Llvm hat nichts mit Kompilieren auf der GPU zu tun. Llvm ist nichts als ein weiterer Compiler(-Frontend). Eine seiner Fähigkeiten ist, dass dieser Compiler Code, der für die Grafikkarte gedacht ist, so kompilieren kann, dass er auch auf der CPU ausgeführt werden kann. Das ist z.B mit Mesa der Fall. Auf diesem Weg kann man z.B die Gnomeshell auf Rechner ausführen ohne funktionierende 3D-Beschleunigung(zu sehen in Fedora 17).
Re: Kompilieren mit der GPU?
Achso, also läuft das genau andersrum...Zeitgeist hat geschrieben:Llvm hat nichts mit Kompilieren auf der GPU zu tun. Llvm ist nichts als ein weiterer Compiler(-Frontend). Eine seiner Fähigkeiten ist, dass dieser Compiler Code, der für die Grafikkarte gedacht ist, so kompilieren kann, dass er auch auf der CPU ausgeführt werden kann. Das ist z.B mit Mesa der Fall. Auf diesem Weg kann man z.B die Gnomeshell auf Rechner ausführen ohne funktionierende 3D-Beschleunigung(zu sehen in Fedora 17).
Danke, wieder was gelernt!