Archiv verlassen und diese Seite im Standarddesign anzeigen : Nvidia "öffnet" CUDA - freier Sourcecode für Compiler
AnarchX
2011-12-14, 09:56:10
http://media.marketwire.com/attachments/201112/TN-51765_NVIDIACUDALLVM-basedcompiler.jpg
BEIJING -- (Marketwire) -- 12/13/2011 -- GTC Asia -- NVIDIA today announced that it will provide the source code for the new NVIDIA® CUDA® LLVM-based compiler to academic researchers and software-tool vendors, enabling them to more easily add GPU support for more programming languages and support CUDA applications on alternative processor architectures. [...]
"Opening up the CUDA platform is a significant step," said Sudhakar Yalamanchili, professor at Georgia Institute of Technology and lead of the Ocelot project, which maps software written in CUDA C to different processor architectures. "The future of computing is heterogeneous, and the CUDA programming model provides a powerful way to maximize performance on many different types of processors, including AMD GPUs and Intel x86 CPUs."[...]
http://pressroom.nvidia.com/easyir/customrel.do?easyirid=A0D622CE9F579F09&version=live&releasejsp=release_157&xhtml=true&prid=831864
roidal
2011-12-14, 10:24:24
Jetzt muss AMD nur noch mehr für deren GPUs ein Backend beisteuern!
Btw. wie funktioniert das dann eigentlich genau? Erstellt dieser compiler dann einen Bytecode welcher dann erst vor der Ausführung in den entsprechenden Maschinencode übersetzt wird?
Gipsel
2011-12-14, 10:32:50
Jetzt muss AMD nur noch mehr für deren GPUs ein Backend beisteuern!
Btw. wie funktioniert das dann eigentlich genau? Erstellt dieser compiler dann einen Bytecode welcher dann erst vor der Ausführung in den entsprechenden Maschinencode übersetzt wird?
So funktioniert es heute schon (falls man nicht direkt den Maschinencode in die Binary einbettet, wodurch man dann allerdings auf eine GPU festgelegt wird).
Wenn man es böse ausdrücken will, erlauben sie es jetzt, daß man die Möglichkeiten von OpenCL nachbaut (was das Backend angeht). :wink:
Skysnake
2011-12-14, 10:42:09
So siehts aus :ugly:
Dural
2011-12-14, 12:00:01
:eek:
Da wird es wohl nicht mehr lange gehen und wir sehen PhysX auf AMD GPUs :D
Nighthawk13
2011-12-14, 12:08:50
Wow, damit ist Cuda-Code quasi über Nacht portiertbar geworden.
Mal sehen, ob wir die entsprechende Backends sehen werden. Wäre nicht sogar ein OpenCL-backend denkbar?
Hell freezes over.
:eek:
Da wird es wohl nicht mehr lange gehen und wir sehen PhysX auf AMD GPUs :D
Ich denke mal, dass sie da immer noch im PhysX-Treiber ne Vendor-Detection machen. Aber das lässt sich dann sicher einfacher rauspatchen.
Skysnake
2011-12-14, 18:24:07
wäre schon cool.
fragt sich nur wie gut AMD Karten skalieren würden. Wäre natürlich der worst case wenn die dann besser skalieren würden
Nighthawk13
2011-12-14, 18:54:44
Man kann immer noch so implementieren, dass eine bestimmte Architektur bevorzugt wird;)
(Wobei es bei GCN schon näher als Fermi dran ist als Cayman)
LovesuckZ
2011-12-14, 19:12:26
Ich find ja viel interessaner, dass die "Öffnung" durch die Industrie forciert wurde. Sagt schon einiges aus über die Bedeutung von OpenCL...
deekey777
2011-12-14, 19:24:42
Ich find ja viel interessaner, dass die "Öffnung" durch die Industrie forciert wurde. Sagt schon einiges aus über die Bedeutung von OpenCL...
Was genau sagt denn die Öffnung über die Bedeutung von OpneCL aus?
Bestimmt das:
"Liebes Nvidia, OpenCL ist Scheiße, bitte macht euer CUDA für alle offen."
Oder doch das?
"Liebes Nvidia, wenn ihr wollt, dass CUDA nicht untergeht, müsst ihr es öffnen."
boxleitnerb
2011-12-14, 19:36:49
Äh im zweiten Fall, was interessiert das die Industrie. Wenn es ihnen egal ist, sollen sie es halt sterben lassen.
Gipsel
2011-12-14, 19:54:46
Äh im zweiten Fall, was interessiert das die Industrie. Wenn es ihnen egal ist, sollen sie es halt sterben lassen.
Wo kommt das eigentlich her, "dass die "Öffnung" durch die Industrie forciert wurde", wie LS schreibt?
Insofern ist es vielleicht richtiger, wenn man sagt, daß sich nVidia gezwungen sah, CUDA stärker zu öffnen, weil eben nicht mehr alle Kunden bereit waren, sich vorbehaltlos darauf einzulassen.
LovesuckZ
2011-12-14, 20:01:01
Wo kommt das eigentlich her, "dass die "Öffnung" durch die Industrie forciert wurde", wie LS schreibt?
Insofern ist es vielleicht richtiger, wenn man sagt, daß sich nVidia gezwungen sah, CUDA stärker zu öffnen, weil eben nicht mehr alle Kunden bereit waren, sich vorbehaltlos darauf einzulassen.
Und die Kunden machen dann genau was? OpenCL verwenden? ;D
Die Öffnung ermöglicht nämlich genau ein Ziel: Mehr Leute zum Schreiben von "Cuda" zu bringen, indem sie nicht nur den Markt erweitern, sondern auch wesentlich mehr Programmiersprachen zulassen.
Es wird ein weiterer "Standard" neben OpenCL in den Markt gebracht. Und den kontrolliert einzig und allein nVidia.
Gipsel
2011-12-14, 20:04:52
Und die Kunden machen dann genau was? OpenCL verwenden? ;DWarum nicht? Den potentiellen nV-Kunden kann es doch nur gelegen kommen, dies als "Drohkulisse" aufzubauen, meinst Du nicht?
Es wird ein weiterer "Standard" neben OpenCL in den Markt gebracht. Und den kontrolliert einzig und allein nVidia.
Ich dachte, den (CUDA) gibt es schon eine ganze Weile und nVidia versucht diesen gegen Alternativen (wie z.B. OpenCL) zu verteidigen? :rolleyes:
deekey777
2011-12-14, 20:06:54
Ich frage mich gerade, warum Nvidia den Source-Code ihres auf LLVM aufgebauten Compiler offenlegt, mit dem man dann mehr Plattformen unterstützt, und nicht selbst so einen Compiler liefert? :uponder:
LovesuckZ
2011-12-14, 20:11:53
Warum nicht? Den potentiellen nV-Kunden kann es doch nur gelegen kommen, dies als "Drohkulisse" aufzubauen, meinst Du nicht?
Der Potentielle nV-Kunde würde sich doch garnicht für eine Offenheit interessieren, da er sich sowieso freiwillig an die Hardware bindet.
Der Sinn hinter Aktion ist es doch gerade die Leute zum "Programmieren" auf solchen Architekturen zu bewegen, die vielleicht aufgrund der Softwaresituation abgestreckt sind. Je mehr Leute, umso stärker die Aufmerksamkeit und Durchsetzung. OpenACC geht in die selbe Richtung.
Ich dachte, den (CUDA) gibt es schon eine ganze Weile und nVidia versucht diesen gegen Alternativen (wie z.B. OpenCL) zu verteidigen? :rolleyes:
Cuda war nur Standard bei der Verwendung von Grafikkarten. Und selbst hier hat es nVidia ja schon mit x86 Support geöffnet.
Standards sind auch kein Nachteil für Firmen. Sieht man perfekt im Workstationmarkt, wo nVidia trotz OpenGL über Jahre mehr als 90% hielt.
Gipsel
2011-12-14, 20:13:42
Ich frage mich gerade, warum Nvidia den Source-Code ihres auf LLVM aufgebauten Compiler offenlegt, mit dem man dann mehr Plattformen unterstützt, und nicht selbst so einen Compiler liefert? :uponder:
Es wird auch darauf ankommen, was nVidia denn jetzt nun genau offenlegt.
Darüber hinaus, wird es mittelfristig/langfristig extrem schwierig, ein Backend für alternative Prozessoren hinzuzufügen, solange sich nVidia bei der Entwicklung des "Standards" nicht abspricht, denn laut LS bleibt ja alles unter der Kontrolle von nVidia. Somit könnten sie mit einer neuen Version dann recht einfach die Funktionsfähigkeit des Backends für andere Prozessoren unterbinden, eine Situation, auf die sich AMD wohl kaum einlassen würde. Das kann sich in dieser Beziehung also auch immer noch als bloße Luftnummer und reine PR entpuppen.
Gipsel
2011-12-14, 20:17:34
Der Potentielle nV-Kunde würde sich doch garnicht für eine Offenheit interessieren, da er sich sowieso freiwillig an die Hardware bindet.Ist Dir noch nie die Idee gekommen, daß es Leute geben mag, die nicht wirklich auf so eine Bindung stehen sondern lieber Hardware und Programmierung möglichst getrennt hätten? :rolleyes:
Standards sind auch kein Nachteil für Firmen. Sieht man perfekt im Workstationmarkt, wo nVidia trotz OpenCL über Jahre mehr als 90% hielt.
Wenn es denn ein Standard wäre, und nicht nur irgendwas Proprietäres eines Herstellers. ;)
deekey777
2011-12-14, 20:19:22
...
Cuda war nur Standard bei der Verwendung von Grafikkarten. Und selbst hier hat es nVidia ja schon mit x86 Support geöffnet.
Schon Brook hatte ein CPU-Backend. Und wenn ich mich nicht täusche, wurde die CPU-Unterstützung erst mit Cuda 2.0 geliefert (oder noch später).
Es wird auch darauf ankommen, was nVidia denn jetzt nun genau offenlegt.
Darüber hinaus, wird es mittelfristig/langfristig extrem schwierig, ein Backend für alternative Prozessoren hinzuzufügen, solange sich nVidia bei der Entwicklung des "Standards" nicht abspricht, denn laut LS bleibt ja alles unter der Kontrolle von nVidia. Somit könnten sie mit einer neuen Version dann recht einfach die Funktionsfähigkeit des Backends für andere Prozessoren unterbinden, eine Situation, auf die sich AMD wohl kaum einlassen würde. Das kann sich in dieser Beziehung also auch immer noch als bloße Luftnummer und reine PR entpuppen.
Ich könnte so gemein sein und sagen, dass sie diesen Compiler für alle deswegen nicht anbieten, weil sie nicht nur den Aufwand scheuen, sondern nicht in der Lage sind, einen Compiler anzubieten, der mit der Konkurrenz mithalten kann. Das ist der Beigeschmack dieser "Öffnung".
LovesuckZ
2011-12-14, 20:25:29
Ist Dir noch nie die Idee gekommen, daß es Leute geben mag, die nicht wirklich auf so eine Bindung stehen sondern lieber Hardware und Programmierung möglichst getrennt hätten? :rolleyes:
Sag mal Gipsel: Wenn du ein Posting immer nur zur Hälfte zitierst und darauf antwortest, machst du das...
a) aus absicht, weil du meinst, dass das nicht auffällt?
b) aus Unwissenheit, weil du Texte einfach überliest?
c) aus purer Arroganz, um dem Gesprächspartner irgendwas vorwerfen zu können?
Denn komischerweise zeigt mein Posting nämlich noch diesen Teil an:
Der Potentielle nV-Kunde würde sich doch garnicht für eine Offenheit interessieren, da er sich sowieso freiwillig an die Hardware bindet.
Der Sinn hinter Aktion ist es doch gerade die Leute zum "Programmieren" auf solchen Architekturen zu bewegen, die vielleicht aufgrund der Softwaresituation abgestreckt sind. Je mehr Leute, umso stärker die Aufmerksamkeit und Durchsetzung. OpenACC geht in die selbe Richtung.
Das entsprichst exakt dem, was du mit dem nippischen Smiley geschrieben hast...
schalala
2011-12-14, 20:37:11
Ich freue mich sehr über eine weitere Verbesserung.
nvidia ist eh konkurrenzlos, aber das macht das Produkt noch interessanter
deekey777
2011-12-14, 20:39:27
Sag mal Gipsel: Wenn du ein Posting immer nur zur Hälfte zitierst und darauf antwortest, machst du das...
a) aus absicht, weil du meinst, dass das nicht auffällt?
b) aus Unwissenheit, weil du Texte einfach überliest?
c) aus purer Arroganz, um dem Gesprächspartner irgendwas vorwerfen zu können?
Denn komischerweise zeigt mein Posting nämlich noch diesen Teil an:
Das entsprichst exakt dem, was du mit dem nippischen Smiley geschrieben hast...
Also ich lese dein Posting ganz anders, als du es wahrnimmst. Du hast mit anderen Worten geschrieben, dass Schäfchen, die Cuda nutzen und so nur auf einen IVH begrenzt sind, brav im Hause bleiben, auch wenn sie andere Plattformen nutzen wollen.
LovesuckZ
2011-12-14, 20:47:14
Also ich lese dein Posting ganz anders, als du es wahrnimmst. Du hast mit anderen Worten geschrieben, dass Schäfchen, die Cuda nutzen und so nur auf einen IVH begrenzt sind, brav im Hause bleiben, auch wenn sie andere Plattformen nutzen wollen.
Hä? Wenn sie andere Plattformen nutzen wollen, haben sie doch schon heute die Chance.
Man sollte sich Huang' Keynote zur Supercomputer ansehen. Softwareentwicklung spielt eine immens wichtige Rolle in der Revolution der Supercomputer. Und anscheinend ist OpenCL nicht annährend soweit, dass Leute es "Cuda" vorziehen.
Von Anandtech.com über die Offenheit:
Finally, with the move to LLVM NVIDIA is also opening up CUDA, if ever so slightly. On a technical level NVIDIA’s CUDA LLVM compiler is a closed fork of LLVM (allowed via LLVM’s BSD-type license), and due to the changes NVIDIA has made it’s not possible to blindly plug in languages and architectures to the compiler. To actually add languages and architectures to CUDA LLVM you need the source code to it, and that’s where CUDA is becoming “open.” NVIDIA will not be releasing CUDA LLVM in a truly open source manner, but they will be releasing the source in a manner akin to Microsoft’s “shared source” initiative – eligible researchers and developers will be able to apply to NVIDIA for access to the source code. This allows NVIDIA to share CUDA LLVM with the necessary parties to expand its functionality without sharing it with everyone and having the inner workings of the Fermi code generator exposed, or having someone (i.e. AMD) add support for a new architecture and hurt NVIDIA’s hardware business in the process.
http://www.anandtech.com/show/5238/nvidia-releases-cuda-41-cuda-goes-llvm-and-open-source-kind-of
BAGZZlash
2011-12-14, 23:23:48
Softwareentwicklung spielt eine immens wichtige Rolle in der Revolution der Supercomputer. Und anscheinend ist OpenCL nicht annährend soweit, dass Leute es "Cuda" vorziehen.
Und das weißt Du, weil... Huang das sagt? :popcorn:
LovesuckZ
2011-12-15, 00:24:31
Und das weißt Du, weil... Huang das sagt? :popcorn:
Cray verbaut nächtes Jahr 18000 Grafikkarten im schnellsten Supercomputer der Welt. Und für die Softwareentwicklung wird kein OpenCL benutzt.
OpenCL spielt keine bedeutende Rolle und durch die "Öffnung" von Cuda kann diese sogar noch geringer werden.
Und für die Softwareentwicklung wird kein OpenCL benutzt.
Wenn CUDA unterstützt wird ist auch OpenCL möglich. Das entscheidet ja wohl der Benutzer.
Übrigens ist auch CUDA nicht das Mittel der Wahl.
LovesuckZ
2011-12-15, 00:47:24
Wenn CUDA unterstützt wird ist auch OpenCL möglich. Das entscheidet ja wohl der Benutzer.
Was die logische Konsequenz aus der Tatsache ist, da nVidia OpenCL unterstützt. Die Aussage muss daher lauten: Wieso sollte jemand OpenCL verwenden, wenn Cuda zur Verfügung steht?
Weil er den Code später evtl. auch noch anderwo weiterverwenden will. Evtl. ist auch das der Grund für genau diesen Thread.
del_4901
2011-12-15, 01:11:42
Ausserdem skaliert Cuda mit den Nodes eines Supercomputers eher schlecht. Cuda kann man nur fuer die Optimierung innerhalb der einzelnen Nodes einsetzen. Deshalb ist man sehr eingeschraenkt was die Algorithmen angeht. Langfristig werden sich GPUs auf dem Markt nicht halten koennen. Ich wuerde jedenfalls BlueGenes und Knights vorziehen.
Skysnake
2011-12-15, 01:40:10
Was die logische Konsequenz aus der Tatsache ist, da nVidia OpenCL unterstützt. Die Aussage muss daher lauten: Wieso sollte jemand OpenCL verwenden, wenn Cuda zur Verfügung steht?
Ganz einfach, weil du dann nicht an nVidia gekoppelt bist?
Es gibt immer mehr Leute, die diesen Vorzug erkennen und auch nutzen wollen, da OpenCL auch immer besser wird. Das Ding muss halt auch etwas reifen. Ist ja grad mal knapp 2 Jahre alt jetzt. Zudem haben sich einige Leute schon auf CUDA eingeschossen. Mitten in nem Projekt tauscht du da nichts mehr aus. Ergo hat so was auch immer ziemliche Anlaufschwierigkeiten.
Ich kenn aber auch Leute von der Uni, die CUDA gemacht haben, inzwischen aber auf OpenCL umgestiegen sind, da falls nVidia mal wieder son Bock wie mit Fermi schießt, Sie recht einfach auf AMD wechseln können.
Gipsel
2011-12-15, 01:54:52
Von Anandtech.com über die Offenheit:
Finally, with the move to LLVM NVIDIA is also opening up CUDA, if ever so slightly. On a technical level NVIDIA’s CUDA LLVM compiler is a closed fork of LLVM (allowed via LLVM’s BSD-type license), and due to the changes NVIDIA has made it’s not possible to blindly plug in languages and architectures to the compiler. To actually add languages and architectures to CUDA LLVM you need the source code to it, and that’s where CUDA is becoming “open.” NVIDIA will not be releasing CUDA LLVM in a truly open source manner, but they will be releasing the source in a manner akin to Microsoft’s “shared source” initiative – eligible researchers and developers will be able to apply to NVIDIA for access to the source code. This allows NVIDIA to share CUDA LLVM with the necessary parties to expand its functionality without sharing it with everyone and having the inner workings of the Fermi code generator exposed, or having someone (i.e. AMD) add support for a new architecture and hurt NVIDIA’s hardware business in the process.
http://www.anandtech.com/show/5238/nvidia-releases-cuda-41-cuda-goes-llvm-and-open-source-kind-of
Also nix mit Backend für AMD GPUs laut Anandtech. Auch wenn das dem Klang der Pressemeldung irgendwie Hohn spricht, habe ich schon sowas geahnt (die Aussage bezüglich AMD kam nicht direkt von nVidia, sondern war ein Zitat einer dritten Partei, welches nV in der Pressemeldung nur wiedergegeben hat). :rolleyes:
deekey777
2011-12-15, 12:00:45
Also jeder ist willkommen, aber wir suchen unsere Freunde selbst aus?
Nvidia geht es danach darum, zusammen mit der Community einen Compiler zu entwickeln, mit dem man zB Cuda-Anwendungen auch auf ARM lauffähig macht? Werden diese gemeinsam entwickelten Compiler dann für alle verfügbar sein oder nur für jeweilige Projekte freigegeben?
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.