News Nvidia kündigt „CUDA x86“ an

Ich bezweifle, dass die CUDA-x86 Version wirklich an eine optimierte x86 Version ran kommt (wohl nicht mal annäherungsweise). Wenn man Performance will für beide 'Plattformen' muss man so oder so seperat optimieren. Die CUDA-x86 Implementierung hilft nur faulen Programmierern... oh... jetzt versteh ich!! :)

Gruß

ps. ok, alles spekulation, time will tell...
 
Zuletzt bearbeitet: (omg, typos ohne ende)
Na, das ist wohl der nächste verzweifelte Versuch Cuda durchzudrücken, damit man später, wenn man das Monopol hat, schön ernten kann...

Können die nicht endlich mal anfangen aufzuhören mit ihrem versuch eine properitäre Technik mit aller Macht in den Markt zu drücken? :rolleyes:
 
Cuda exklusiv auf Nvidiakarten ist auch ne Totgeburt gewesen und hat sich nicht durchsetzen können. Jetzt versuchen sie eben mit allen Mitteln das sinkende Schiff zu retten. Cuda ist überbewertet und ich glaube nicht, dass die Vorteile der Berechnung auf einer GPU auf eine CPU übertragbar sind. Da dürften doch Welten dazwischen liegen.
 
Kann mir jemand den Sinn dieser Dienstleistung seitens nVidia erklären?
Wieso bringe ich ein Feature das nVidia-GPUs vorbehalten ist nun auch für GPUs anderer Hersteller?
 
Von GPUs anderer Hersteller hat niemand gesprochen. nVidia scheint CUDA generell für die x86 Plattform fit zu machen. Dh, der Entwickler schreibt einmal seine Anwendung und den Rest übernimmt der Compiler bzw die darunter liegende Runtime. Ergebnis, die Anwendung läuft grundsätzlich auf jeder x86 Kiste. Der Haken an der Geschichte ist jedoch, richtig schnell läuft es nur mit nVidia GPU. ;) Ein weiterer Versuch von nVidia, fairen Wettbewerb zu unterbinden. Man kann nur hoffen, dass es sich wie GPU-PhysX nicht durchsetzt.

Charlie könnte mit seiner Vermutung aber auch nicht verkehrt liegen. Wobei ich noch nicht sehe, dass nVidia eine x86 CPU auf den Markt wirft.
 
leboh schrieb:
genau, und im Zuge dessen hast Du Dir Gedanken ueber Parallelitaet gemacht, die vorher in dem Code nicht sichtbar war, und wenn alles gutgeht laeuft der CUDA Code auf der CPU schneller als der Original nicht-Cuda Code, weil es naemlich multithreaded und vektorisiert ist.

du willst doch nicht behaupten, dass damit ein code automatisch sinnvoll parallelisiert wird ohne zutun des programmierers (wir reden hier nicht von mini-parallelisierungsoptimierungen die jeder 0-8-15 compiler bei modernen prozessoren ophnehin schon durchführt)? wovon träumst du denn nachts? ;)

p.s. was ist ein vektrorisierter code?
 
Ein weiterer Versuch von nVidia, fairen Wettbewerb zu unterbinden.

Es ist halt eine properitäre Schnittstelle - wer sich als Kunde einseitig an Technologie binden will soll das ruhig machen, hat seine vor und nachteile. Ich finde nicht das das etwas mit unterbinden von fairen Wettbewerb zu tun hat.
Mich ärgert eher das nV andererseits auch vollen Zugriff auf OpenCL Entwicklungen hat. Man macht es dem offenen Standard so schwere wie möglich, mit dem Ziel CUDA als Marktstandard zu etablieren. Sollte man auf die Schnauze fallen hat man aber keine Nachteile, da man bei OpenCL auch im Boot sitzt. Illegal nein, aber auch kein Zeugnis guter Geschäftsetik.
 
I am very much impressed.

Ich hätte nicht gedacht, dass NV irgendwann mal was sinnvolles für den Kunden tut.
Aber das klingt ausnahmsweise mal so, als hätte der Kunde nachher etwas davon.
(Auch wenn ich persönlich CUDA ziemlich sinnfrei finde, so ist es trotzdem eine nette Geste...)

Grüße vom:
Jokener
 
GrooveXT schrieb:
@MD5003
Schon mal in OpenCL programmiert? Also CUDA war in meinen Tests deutlich (Faktor 100) schneller als OpenCL. Open ist nur dann gut, wenn auch schnell genug.

Hmm lass mich raten, du hast den OpenCL code auch mit ner Nvidia Karte getestet ^^. Wenn Nvidia nen eigenenes Konkurenzprodukt zu OpenCL haben, werden sie darauf achten OpenCL besonders gut zu unterstützen (rofl).

Naja weiß nicht ob sich OpenCL durchsetzt, aber wenn nicht, dann der MS DX12 Part oder wars 11? ist ja egal. Da es mitlerweile schon Nativ für Linux Dx10 und DX11 gibt, wäre das wohl langsam für offene Systeme auch nicht mehr so tragisch. Besser wie nen Cuda, das mit angezogener Bremse (100 endlosschleifen nebenherlaufen lassen oder änliches) auf der CPU irgendwie läuft aber so schlecht das mans gleich vergessen kann und jeder dann Nvidia Grafikkarten kaufen muss wenn er Physik in spielen oder änliches haben will.
 
Was hier wieder wild spekuliert wird:lol:, dabei ist der Inhalt des Artikels doch wirklich simpel.
Bisher war der x86 Teil von CUDA, sozusagen die Softwareemulation, nicht optimiert(Multicore, SIMD, usw.). Wozu auch, nVidia wollte schließlich Grafikhardware verkaufen. Aus irgendwelchen Gründen(mangelnde Akzeptanz einer NVonly API, drohende Konkurrenz durch Havok/ATI, ...) hat man sich bei nVidia nun gedacht es ist notwendig CUDA attraktiver zu machen und voila wir bekommen eine CPU Version ohne angezogene Handbremse. Bin mal gespannt ob man damit wirklich was angfangen kann, so richtig glaube ich es nicht. Ist in etwa so als würde M$ den Softwarerenderer von DirectX für SIMD und Multicore optimieren, auf ne Graka mit Shadern könnte man bei aktuellen Spielen trotzdem nicht verzichten.
 
Also warum sich alle so aufregen kann ich nicht verstehen. Ich render selbst ab und zu Videos hab NV Karte hab mir erst so ein billig freeware Porgramm runtergeladen. Hab für ein kack 20min video zum wandeln fast 3Std. gebraucht hab mir dann ein Programm besorgt was Cuda kann und siehe da 30min für das selbe Video in den gleichen einstellungen. Also wie war das Cuda bringt nichts? Und zweitens Cuda wurde nicht für den Privatanwender sondern für Profi Anwender entwickelt. Also Unis Labore usw. sprich Große Firmen. Es wurde lediglich dem Ottonormal Verbruache auch zugänglich gemacht was ich gut finde.
Der sinn hinter dem x86 Cuda liegt eindeutig darin das Programmierer dazu angeregt werden und es ihnen auch leichter gemacht wird Cuda zu nutzten und das sie das dann auch Logischerweise tun. Und sicher auch das nicht Cuda Programme trotzdem dank diesem Emulator die Cuda Option nutzten können.

Klar bringt das Nvidia vorteile aber ihr wollte mir jetzt bestimmt erzählen währe es eure Firma würdet ihr nicht so handeln. Das ist Kapitale Marktwirtschaft. Jeder versucht sprichtwörtlich mit dem Allerwertesten an die Wand zu kommen. Und jeder der die Mittel hat seine Konkurenz damit Auszubotten tut es egal um was es dabei geht.

Und zum Thema Physx es bringt doch was siehe Mafia und die die Ati karten haben kaufen siche eine wenn auch meist kleine NV Karte weil sie auf dieses Feauter nicht verzichten wollen. Wo mit sie auf ganzer Linie beweißen das der Plan von Nvidia aufgeht.
 
ob das ganze sinn macht?
ich meine schliesslich konnte man mit cuda doch ganz gut punkten um nvidia grafikkarten atraktiver zu gestalten. und nun soll es auf jedem pc möglich sein?

und soviel überschüssige cpu leistung wird es nicht haben somit macht sich die cuda sprache noch weniger nützlich in meinen augen.
 
@KillerGer87:

klar im Grunde machen Firmen fast alles nur wegen einem zu erwartenden Gewinn. Aber man kann dann doch ein Geschäftkonzept das auf ausschluss auf proprietäre Techniken beruht und auf FUD-Marketing trotzdem kritisieren, so das man selber und andere vielleicht dadurch inspiriert solch eine Logik nicht aufgehen lassen.

Das ist doch der Punkt, als Firma scherrt man sich zu 99% erstmal nicht um Moral, aber wenn die Kunden sich auch nicht um Moral scherren und schlechtes verhalten auch noch mit vielen Käufen belohnt, dann sind die Kunden am Ende Schuld das das kommt. Und ein Aufruf das Nvidia hier Mist baut, richtet sich somit auch nicht an Nvidia die nur wenn sie mit ihrem Konzept total auf die Fresse fallen dieses abändern, sondern an die Kunden, das sie eben sowas nicht unterstützen.

Gibt noch 3. im Bunde das sind entwickler, wieso viele oder gar die meisten Entwickler proprietäre techniken benutzen sollten, die weder beim GPU-chips Marktführer (Intel) noch beim Grafikkarten Marktführer nach Stückzahlen (AMD) laufen darf man doch mal in Frage stellen.

Nvidia versucht nunmal Kunden durch Wettbewerbsverzerrende regeln zu bekommen, juristisch dürfen sie das, aber wir Kunden müssen sowas doch nicht unterstützen. AMD ist sehr offen, sie unterstützen zwar auch proprietäre Schnittstellen, da sie sich das Gegenteil in den Fällen nicht leisten könnten und sie tot wären (DirectX), aber sie unterstützen auch immer offene Lösungen (Specs für Linux-treiber + Angestellte die die offenen Treiber vorranbringen), Opengl, Opencl...
Auch wenn diese Offenheit nur deshalb da ist um damit Kunden zu Gewinnen, so ist es ein positivbeispiel wir Kapitalismus mal funktionieren kann, die Kunden wollen etwas der Anbieter liefert. Er kümmert sich um alle Kunden, und versucht nicht den Markt abzuschotten vor anderen Anbietern.
 
Natürlich macht das ganze Sinn. Einfaches Beispiel, Softwarefirma A will ne tolle Software bauen die viel Rechenleistung benötigt. Die Entwicklung dauert 1000 Manntage für die x86 Architektur, das ganze in Cuda zu optimieren dauert 300 Manntage, also spart man sich genau diese Zeit und kann ein Programm anbieten, das auf jedem PC läuft und auf PCs mit nVidia Karten sogar noch viel besser läuft, das ganze ohne Mehraufwand an Manntagen und damit Kosten.
Außerdem sieht man doch die aktuelle Entwicklung der Prozessoren, Kerne und Threads pushen,mit Sandy Bridge gibt es dann bereits 16 Threads pro CPU und diese optimierten Programme laufen dann auch auf diesem PC sehr schnell, da sie bereits für Multicore optimiert sind.
Aus meiner Sicht ein klares Win für die Software Entwicklung.
 
Nicht, dass jemand überhaupt Kommentare anderer Leser lesen würde, aber sebbolein hat natürlich schon viel wichtiges genannt.
Außerdem ist sicherlich ein ganz wichtiger Punkt, dass Entwickler auf nem rechner OHNE Nivea-Graka cuda Code schreiben und ausführen können!
Dh es muss nicht die gesamte Entwicklungsabteilung einer Softwarefirma mit neuen Grakas ausgestattet werden sondern nur der Endanwender ;-)
 
hmm aber das dies so positiv laufen soll kann von Nvidia nicht von Interesse sein. Da sonst ja viele sagen könnten ähh mir reicht der Speed von der CPU läuft ja fast gleich. Also wenn überhaupt wird es nur ne zeit lang optimal laufen, dann wenn sich Cuda durch gesetzt hat, wird das per Updates der übersetzungssoftware wieder langsam langsamer werden. Alte Grafikkarten werden mit neueren Treibern auch immer leicht langsamer, damit man neue kaufen muss. Und da die alten Treiber/software dann nicht mehr mit neueren Betriebssystemen laufen wird, muss man diese Software dann installieren und dann muss man für die Programme auf die man dann nimmer verzichten kann die auf Cuda laufen wenn man noch aktzeptablen Speed will dann doch Nvidia Grafikkarten kaufen.

Naja ist zum Glück egal, Nvidia hat hier mittelfristig und auch jetzt schon eh keine gute Marktposition und es wird höchstens ein Nischending und verrübergehend für den Desktop interessant sein, das Ablaufdatum der Technik ist nicht fern. Die rießen Investitionen die hier Nvidia in Hoffnung auf Erlangung eines Monopols getätigt haben, werden wohl sich nicht rentieren, zum Glück.
 
sse3 schrieb:
Damit hätte wohl kein ATi Fan gerechnet :-) Auch wenn es nur x85 und nicht x64 ist besser als nicht oder Open CL ;)

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.
 
Damien White schrieb:
Im Endeffekt ists doch nur ein CUDA > X86, X86 > CUDA Übersetzer, oder?

So verstehe ich das auch; ich weiß nicht so recht was ich davon halten soll.
Wenn ich da nicht etwas völlig falsch interpretiere, bietet Nvidia eine Schnittstelle an, um Anwendungen, die für CUDA geschrieben bzw. kompiliert wurden, auch auf einer CPU zum laufen zu bringen. Es ist also eine Art Emulator.
Wo Emulatoren ja im Regelfall dort zum Einsatz kommen, wo die Ursprüngliche Hardware nicht mehr zugänglich ist, und das Umschreiben nicht möglich oder zu Umständlich erscheint, wäre hier doch die sinnvollere Alternative, die Anwendung einfach für x86 oder x64 zu schreiben / kompilieren. Oder nicht?
Und dann wäre die Performance bei direkt für x86 kompilierten Anwendungen erheblich besser, weil direkt und nicht emuliert ausgeführt?
Sind die meisten CUDA Anwendungen nicht eh schon aus der x86er Ecke, wie Video Encoder, distributed Computing Clients und Renderer Plugins, für die es also schon in x86 geschriebene Ausführungen gibt?

Im allgemeinen ist das vermutlich ein nötiger (und von mir durchaus erwünschter) Schritt um CUDA über kurz oder lang in keine kleine Ecke verschwinden zu lassen - nur ob es der richtige ist weiß ich nicht.
Ergänzung ()

ice-breaker schrieb:
Ich glaube einige verkennen hier in den Anwendungsfall.
Das Problem an CUDA ist momentan einfach noch, dass ich für einen Algorithmus eine optimierte CUDA und eine optimierte Non-Cuda Version schreiben muss, ich habe also mehr als den doppelten Aufwand damit PCs mit Nvidia-Grafikkarten eine bessere Leistung haben.
Sollte nun nvidia aber ihr cuda x86 veröffentlichen, musss ich nur noch eine Version schreiben, die CUDA-Version, ich spare mir also viel Aufwand und setze somit also auch viel eher auf CUDA weil ich mit minimalem Mehraufwand für eine ganze Zielgruppe große Leistung herausholen kann.

Tja, das wünscht sich Nvidia wohl.
Nur würdest du ein Programm auf einer Plattform schreiben, die einen viel geringeren Marktanteil hat (CUDA vs x86, x64, ATI Stream bzw. OpenCL), und dich davon abhängig machen, wie Performant er arbeitet, und wie gutmütig sie dies umsetzen (Aktualität, Kompatibilität, Geschwindigkeit).

Würdest du das tatsächlich wollen?!
Ergänzung ()

sebbolein schrieb:
Natürlich macht das ganze Sinn. Einfaches Beispiel, Softwarefirma A will ne tolle Software bauen die viel Rechenleistung benötigt. Die Entwicklung dauert 1000 Manntage für die x86 Architektur, das ganze in Cuda zu optimieren dauert 300 Manntage, also spart man sich genau diese Zeit und kann ein Programm anbieten, das auf jedem PC läuft und auf PCs mit nVidia Karten sogar noch viel besser läuft, das ganze ohne Mehraufwand an Manntagen und damit Kosten.

Selbst das freie 7zip gibts in x86 und x64, aber damit kann ich als nicht-entwickler wohl kaum kommen. Ich hab keine Ahnung vom Programmieren, schon gar nicht von den verschiedenen Plattformen.
Jedoch zu glauben, das sich das einschießen auf einen Proprietären Standard, nämlich CUDA, für die Entwickler und vor allem die Kunden lohnt, wo der Compiler in direktem Zusammenhang mit den Interessen des Hardwareherstellers dieser Software steht, ist ein wenig Naiv. Ebenso zu glauben, das Nvidia als primäres Hardwareunternehmen eine bessere Entwicklungsumgebung aus dem Hut zaubert, die mit einem mal alles bisher da gewesene in den Schatten stellt - ganz besonders im Bezug auf x86 und x64.

Zumal es mit OpenCL schon eine Plattform gibt, die frei ist, und dahingehend Plattform und Hardware unabhängig ist, ist die ganze sicher nicht als Samariter Dienst zu betrachten.
 
Zurück
Oben