Nvidia Cuda 6 offiziell vorgestellt: Unified Memory, Drop-in Libraries und Multi-GPU-Scaling
Grafikkartenhersteller Nvidia hat seine 06. Cuda-Version in einer Pressemitteilung angekündigt, welche die parallele Programmierung deutlich steigern soll. Dies soll durch Bibliotheken geschehen, welche nunmehr von der GPU statt CPU berechnet werden. Außerdem erhalten Applikationen Zugriff auf beide Speicher.
Schon Mitte Oktober hatten wir im Geforce-331.40-Treiber die versteckte Unterstützung von Cuda 6.0.1 entdeckt, in dem auch die Performance mit OpenCL teils deutlich angestiegen ist. Allerdings konnten wir Nvidia zu keiner offiziellen Aussage bezüglich der neuen Cuda-Version bewegen, da von dieser Seite nur die Rede von Cuda 5.5 war. Einen Monat später folgt nun die offizielle "Ankündigung" der überarbeiteten GPU-Schnittstelle - die Anführungsstriche deshalb, da Cuda 6 bereits in den Treibern integriert ist.
Neu eingeführt worden ist der Unified Memory, durch den Applikationen Zugriff auf den Speicher von CPU und GPU erhalten, ohne manuell die Daten jeweils hin und her kopieren zu müssen. Die Drop-in Libraries ersetzen die vorhanden CPU-Bibliotheken mit GPU-Varianten, wodurch die Berechnungen mit Fastest Fourier Transform in the West (FFTW) sowie Basic Linear Algebra Subprograms (BLAS) bis zu acht Mal schneller ablaufen sollen.
Die genannten Bibliotheken sollen damit auch über bis zu acht Grafikchips in einem Single Node skalieren können. Nvidia spricht von über 9 TFLOPS Double-Precision-Leistung pro Node, wobei die Workloads jetzt bis zu 512 GB groß sein dürfen. Insgesamt soll der Aufwand und die erforderliche Zeit für die Beschleunigung von wissenschaftlichen und konstruktionstechnischen Anwendungen, Enterprise-Applikationen sowie sonstigen Anwendungen für GPUs reduziert werden.
Quelle: Nvidia



Es triffts eher so:
Für Leute, die schnelle GPGPU-Umsetzungen/Beschleunigung von bestehendem Code haben wollen ist es interessant. Damit reagiert man vor allem auf Intel mit XeonPhi.
Die Drop-in Libs sind da schon eher interressant. Sie sind aber halt "nur" ein 1:1 Replacement. Das ist vor allem für Leute interessant, die bereits bestehenden CPU-Code haben. Wie performant das Replacement ist, muss sich aber auch noch zeigen. Sooo einfach ist das ja auch nicht. Die Probleme müssen ja groß genug sein, damit man überhaupt erstmal den PCI-E Overhead kompensieren kann. Wie immer bei der Arbeit mit dGPUs muss man daher sehr genau schauen, was man macht.
Ob die Änderungen auch auf Spiel zutreffen ist bisher unklar. Ich kann mir aber gut vorstellen, dass Teile davon stark in die neuen PhysX-Effekte integriert werden können.
Theoretisch kann man das in PhysX an sich implementieren. Neue Effekte wird es deswegen aber nicht geben! Man erhält nämlich an sich nichts, was nicht vorher auch schon ging. Man macht es den Anwendern nur etwas leichter die Sachen zu nutzen. Am PhysX Code an sich hat aber eh nur nVidia rumgespielt. Von daher ziemlich uninteressant. Zumal die eben die performanteste Implementierung wählen, und nicht die "Quick and Dirty"-Variante
Anders als AMD muss sich Nvidia dank des kürzlich vorgestellten G-Sync nicht all zu viele Gedanken um FPS machen. Solange die Voraussetzungen dafür erfüllt sind
-GPU mit Kepler oder besser
-G-Sync-Monitor
-Framerate > 30 FPS
Ist Nvidia wahrscheinlich immer besser aufgestellt.
Es hat ja auch JEDER mit nVidia GPU nen G-Sync Monitor
G-Sync Monitore kosten aufgrund mehr Hardware ja auch nicht mehr Geld
und G-Sync kommt ja auch gar nicht erst Ende 2014...
Prinzipiell funktionieren die meisten Features von CUDA 6 auch auf Kepler, sonst würde Nvidia nicht mit ihrer Quadro K6000 werben. Was Allerdings nicht möglich wäre, ist dassn ein paar wichtige Implementierungen das Memory-Menagements mit alten Karten nicht funktioneren. Dies wird erst mit Maxwell eingeführt. Die neuen Karten enthalten dann die benötigte "Unified Memory"-Architektur.
Die neuen Features von PhysX wie FlexWorks, Fire-/Smoke-Works sowie GI-Works laufen aber sicherlich auch auf älteren Karten.
Anders als Skysnake vermutet hat Nvidia noch nie Funktionen von CUDA zurück gehalten. Nur wegen CUDA würde niemand neue Karten kaufen. Das ist eher ein Spezialgebiet von Microsoft. Die machen so etwas gerne wie man nur all zu gut weiß
Das kommt darauf an. Wenn ich mich nicht irre, greifen Geforce Experience und somit Shadowplay (Streaming) auf CUDA zurück. Das muss sich aber erst noch herausstellen. Bisher ist CUDA vorallem für die wissenschaftlichen Anwendungen interessant.
CUDA hat zwar ein paar Schnittstellen zu OpenGL/DX, aber an sich hat CUDA nichts aber auch rein gar nichts! mit Grafik zu tun. Man kann Berechnungen durchführen, die man auch in der Grafikpipeline verwendet, aber das wars dann auch.
Vergleich doch einmal die Geschäftszahlen von Nvidia. Die sind grundsolide und das über einen längeren Zeitraum. Dazu haben sie ihren Fuß tief im GPGPU-Bereich. Der Gamingsektor läuft ebenfalls hervorragend. Die Expertise ist sichtlich vorhanden... bei AMD sieht das völlig anders aus.
Lass uns aber nicht so tief hierauf eingehen und kurz sagen:
-Für Leute mit GPU-Programmierung ist dieses CUDA-Update enorm sinnvoll!
-Das ist die Vorbereitung auf Maxwell und schon seit Ewigkeiten angekündigt. Damals gab es von Mantle noch nicht einmal Gerüchte. Nvidia wird Mantle außerdem nicht kontern, weil sie viele ähnliche Funktionen in CUDA einbauen werden. Wir brauchen alles aber keinen neuen API-Krieg.
Der letzte API-War hat unter anderem 3dfx in den Ruin getrieben. Das möchte ich weder für AMD noch Nvidia erleben!
Ist zu erwarten, dass diese Änderungen auch in Spielen greifen und für mehr fps sorgen?!
Ob die Änderungen auch auf Spiel zutreffen ist bisher unklar. Ich kann mir aber gut vorstellen, dass Teile davon stark in die neuen PhysX-Effekte integriert werden können.
Anders als AMD muss sich Nvidia dank des kürzlich vorgestellten G-Sync nicht all zu viele Gedanken um FPS machen. Solange die Voraussetzungen dafür erfüllt sind
-GPU mit Kepler oder besser
-G-Sync-Monitor
-Framerate > 30 FPS
Ist Nvidia wahrscheinlich immer besser aufgestellt.
Die neuen Features von PhysX wie FlexWorks, Fire-/Smoke-Works sowie GI-Works laufen aber sicherlich auch auf älteren Karten.
Anders als Skysnake vermutet hat Nvidia noch nie Funktionen von CUDA zurück gehalten. Nur wegen CUDA würde niemand neue Karten kaufen. Das ist eher ein Spezialgebiet von Microsoft. Die machen so etwas gerne wie man nur all zu gut weiß
Nur wird im Artikel vorwiegend von professionellen Anwendungen geredet:
Ist zu erwarten, dass diese Änderungen auch in Spielen greifen und für mehr fps sorgen?!
Kepler an sich wird das können. Wahrscheinlich sogar Fermi, die Frage ist da eher ob nVidia das auch will. Neue CUDA-Versionen verkaufen ja schließlich auch Karten...