News Nvidia kündigt „CUDA x86“ an

Eigentlich sollte es den Spiele- und Anwendungsschmieden ein Anliegen sein das ihre Produkte auf möglichts vielen Rechner/Consolen flüssig und mit allen Funktionen laufen,
da brauch man jetzt nicht nvidia oder ATI schlecht Reden.

Bei Adobe sind sie ja schon seit CS4 am umdenken und CS5 läuft auf ATI Rechner genauso gut.
Mir wär es am liebsten das dx11 direct compute das rennen macht, da profitieren die Consolen und Rechner am einfachsten und man hätte einen Standart.

Und das selbst PhysX von Nvidia genauso gut auch auf CPU laufen könnte beweisen sie ja selbst.
http://www.geeks3d.com/20100922/physx-sdk-2-8-4-optimized-cpu-cloth-simulation/
PhysX SDK 2.8.4: Optimized CPU Cloth Simulation
 
Hmmm... irgendwie musste ich gerade an die knights corner und knights ferry denken. (Oder warens King?) Jedenfalls haben die doch massig cpu power um sowas wenns auf x86 kommt as zu führen oder? Wären die überhaupt kompatibel?
Btt: von der Idee her find ich es eigentlich recht gut. Oder wart CUDA ..... läuft die physx.berechnung über cuda? Dann könnte man ja einfach 1Kern vom CPU für physx laufen lassen die meisten Spiele sollten auch noch mit 3Kernen fliessend laufen.

Allerdings bin ich mir ziemlich sicher irgendwo shon mal was über physx auf CPU gelesen zu haben. Mit sehr unbefriedigendem Resultat.
 
so toll finde ich da auch nicht. Meine Graka kann OpenGL 5.0 , kann aber mit nix anfangen. Ehrlich, die sollen mal was vernünftiges machen was jeder nutzen kann und alte Programme auch davon profitieren.
 
Teilweise ist das Halbwissen sehr interressant:
nVididas CUDA kann kein JiT
Kann es doch, gibt sogar extra ne Funktion (ok, funktioniert nicht immer, aber in 99% der Fälle ist JiT möglich).
ATI OpenCL basiert nicht auf Stream
Stream ist der GPGPU-Markenname von AMD. OpenCL von AMD nutzt sogar die CAL-API für bestimmte Funktionen und IL-Shader.
nVidias OpenCL basiert nicht auf CUDA
Dass dem doch so ist, gibts sogar ein Bild in der CUDA-SDK.
 
Kartenlehrling schrieb:
Mir wär es am liebsten das dx11 direct compute das rennen macht, da profitieren die Consolen und Rechner am einfachsten und man hätte einen Standart.

/dagegen
Ich möchte langsam aus der Windows abhängikeit raus


badday schrieb:
Denke mal nicht, dass das ein offener Standard ist, oder irre ich mich da?

Nein du irrst dich nicht.
Ein offner Standard wäre OpenCL.
Es wäre auf allen Betriebssystemen einsetzbar und wird wohl auch von Apple gepusht.
 
Blitzmerker schrieb:
nVidias OpenCL basiert nicht auf CUDA

Dass dem doch so ist, gibts sogar ein Bild in der CUDA-SDK.

OpenCL wird mittlerweile von Nvidia unterstützt und ist deshalb ein Teil des Cuda-SDKs. OpenCL und Cuda sind jedoch noch immer 2 verschiedene und eigenständige Schnittstellen. Die OpenCL Implementierung des CUDA-SDKs beinhaltet Optimierungen für Nvidia GPUs, basiert aber nicht auf CUDA.
Ergänzung ()

dx11 direct compute
badday schrieb:
Denke mal nicht, dass das ein offener Standard ist, oder irre ich mich da?

DirectCompute ist eine M$-Schnittstelle und daher natürlich nicht quelloffen.
 
Zuletzt bearbeitet:
Blöde Frage: Wer von den CUDA-Bashern hat denn schon mal wirklich mit CUDA und OpenCL programmiert? Wer weiss wie in OpenCL Parameter an einen Kernel übergeben werden und wie die Sache in CUDA gemacht wird? Wisst ihr, dass es in OpenCL keine Templates gibt und was das für Folgen für die Performance bei machen Problemstellungen hat?

Obwohl ich eine offene, plattformübergreifende Sprache/API/SDK befürworte wird es am Ende doch darauf hinauslaufen, dass ein Algorithums auf die Zielplattform speziell angepasst wird. Und OpenCL ist für mich, zumindest im Moment, einfach eine zusätzliche Abstraktionsebene die mit Performance-Einbußen einhergeht.

Auf CUDA x86 bin ich mal gespannt: CPU debuggen, SIMD Performance
 
OpenCL wird mittlerweile von Nvidia unterstützt und ist deshalb ein Teil des Cuda-SDKs. OpenCL und Cuda sind jedoch noch immer 2 verschiedene und eigenständige Schnittstellen. Die OpenCL Implementierung des CUDA-SDKs beinhaltet Optimierungen für Nvidia GPUs, basiert aber nicht auf CUDA.

OK, dann hab ich mal das Bild das ich auf die Schnelle finden konnte ausgegraben
openclcuda.png

To Topic:
Also ich glaube, dass PTX auf einem CPU relativ schnell laufen wird. Allerdings wird die Geschwindigket sehr stark vom Compiler abhängen. Der Ansatz ist interressant, was wird jetzt aus den Nutzern, die eine ATI im Rechner haben und dann ihr Physx->GPU->CPU aktivieren wollen, ob das noch geht ;).
 
Floletni schrieb:
Seit wann gibt es x64?

Du bringt hier ziemlich was durcheinander. Es gibt 32bit und 64bit (16bit und kleiner erwähne ich jetzt mal nicht). Und das alles zusammen ist x86 einfach gesagt.

gruffi schrieb:
Wieso? Floletni hat doch völlig Recht.

x86 war ursprünglich eine 16-bit ISA. Später kam eine 32-bit Erweiterung von Intel, x86-32 (80386, protected mode), und eine 64-bit Erweiterung von AMD, x86-64 (Athlon 64, long mode). Alles fasst man allgemein unter x86 zusammen. x64 gibt es im Grunde nicht. Es wird manchmal nur als Alias für x86-64 verwendet.

@gruffi

sicher hat Floletni Recht, aber worum geht es eigentlich in der News? CUDA x86. Ich denke die ganze Diskussion hat nichts mehr mit der News zu tun, es wird nur noch über die Definition der Begriffe diskutiert. Vielleicht sollte erstmal eine gemeinsame Begriffsbasis festgelegt werden, so das jeder versteht was gemeint ist. In diesem Falle bin ich dagegen das jegliche 32/64 Bit Architektur allein Intel(x86 neuerdings IA-32/64) kompatiblen Architekturen zugeschrieben wird, so wie Floletni es tat ;)

Wikipedia: Compute Unified Device Architecture
Wikipedia schrieb:
Programmierer[/url] verwenden zur Zeit C for CUDA (C mit NVIDIA Erweiterungen). Es existieren aber auch Wrapper für die Programmiersprachen Python, Java, Fortran und .NET bzw. Anbindungen an Matlab.

NVIDIA erstellte CUDA mit dem optimierenden C-Compiler Open64.[1] Seit der Fermi-Architektur kann auch C++ verwendet werden.
Der Artikel wird wohl demnächst ergänzt werden.



GTC: CUDA-Programme bald auch auf CPUs lauffähig
heise.de schrieb:
...
So wird die Portland Group (PGI) einen speziellen, kostenpflichtigen Compiler – CUDA-x86 – anbieten, der CUDA-Code für x86-Prozessoren (32/64 Bit) von AMD und Intel übersetzt, deren Kerne dann im Zusammenspiel mit ihren SIMD-Streaming-Fähigkeiten die Ausführung paralleler Befehle übernehmen.
...
Nvidia vergrößert damit die Reichweite von CUDA drastisch. CUDA-Programme lassen sich dann auch ohne entsprechende Grafikkarte testen und debuggen. Bis dato verarbeiten nur Nvidia-Grafikchips (ab G80) mit Unified-Shader-Architektur entsprechenden GPGPU-Code.
 
vander schrieb:
In diesem Falle bin ich dagegen das jegliche 32/64 Bit Architektur allein Intel(x86 neuerdings IA-32/64) kompatiblen Architekturen zugeschrieben wird, so wie Floletni es tat ;)
Wir sind in einem Thread, in dem es grundsätzlich um x86 geht. Das sagt ja schon die Überschrift. Wenn er von 32- und 64-bit spricht, dann logischerweise im Kontext von x86. Sicherlich wollte er nicht sämtliche 32- und 64-bit Architekturen Intel zuschreiben.
 
So, ich habe hier mal ein bisschen aufgeräumt. Und zwar so, dass es noch Platz im Programmieren-Forum hat. https://www.computerbase.de/forum/threads/792324/

Es ist wahrlich erschreckend, mit welchem Halbwissen Zahlen interpretiert und Aussagen in den Raum geworfen werden, mit welcher Ausdauer sich darum dann gestritten wird. Ist aber leider üblich in den Kommentaren, von daher sortieren wir es meist nicht aus. Aber hier war es zudem noch größtenteils off-topic, insbesondere PhysX-bezogen.

Andererseits ist es natürlich kein Grund andere persönlich anzugreifen oder die Dummheit der Welt hier zu diskutieren. Ja es ist so, das viele (in dem Fall vielleicht sogar die meisten) keine Ahnung haben, aber es wäre gut, wenn das als Chance gesehen würde. Natürlich müssten das andere auch annehmen, was leider auch nicht der Fall war.

Nun, wie dem auch sei, die Fachdiskussion darum ist ja sehr interessant, wäre toll, wenn alle mit dem nötigen Respekt fürs Thema hier auch rangehen könnten, damit man was dazu lernen kann.
 
Zuletzt bearbeitet:
Zurück
Oben