C++ AMP eine Bibliothek ist (und als Schlüsselspracherweiterung ein Teil davon wurde auch eingeführt). Da es sich bei C++ AMP um eine offene Spezifikation handelt, kann es auf anderen Low-Level-Sprachen implementiert werden. Die Implementierung von Microsoft baut auf DirectCompute (und damit auf HLSL) auf, aber das ist komplett von Ihnen verborgen, wenn Sie C++ AMP verwenden (daher kann C++ AMP eine offene Spezifikation sein; DirectX wird in der API-Oberfläche nicht verfügbar gemacht). Weitere Informationen zu C++ AMP, benutzen Sie bitte die Ressourcen auf der rechten Seite von unserem Blog folgen (wir werden das Hinzufügen halten, dass): http://blogs.msdn.com/b/nativeconcurrency/
Sie eine Erklärung über Microsoft mit NVIDIA arbeitet C++ AMP Leistung zu verbessern - das ist nicht wahr. Microsoft hat mit NVIDA und AMD und anderen Partnern zusammengearbeitet, um die offene C++ AMP-Spezifikation zu erstellen. Microsoft arbeitet auch mit Hardwareanbietern zusammen, um sicherzustellen, dass die Hardwarehersteller über stabile Grafikkartentreiber verfügen, die für eine korrekte GPU-Computertechnologie erforderlich sind.
Sie drückten auch Verwirrung aus und warfen einige Begriffe aus. OpenCL ist ein Ansatz für das GPU-Computing (von Khronos), ebenso wie DirectCompute (von Microsoft), ebenso wie CUDA (von NVIDIA). Dies sind alles separate Technologien, jede mit einem eigenen Pfad zur GPU (immer über einen Treiber), jeder mit seinen eigenen Stärken, Stärken und Nachteilen. Der eine ersetzt nicht den anderen, und einer ist nicht allgemein besser als der andere. Sie haben jetzt auch C++ AMP in dieser Mischung, als eine weitere Wahl, und die gleichen Aussagen gelten für diese. Sie haben die Wahl, für welche Sie sich entscheiden.
Ist es wichtig, ob der C++ - AMP-Compiler GPU-Maschinencode direkt generiert oder C-Code generiert und diesen an den CUDA- oder OpenCL-Compiler übergibt? In beiden Fällen schreiben Sie C++ - AMP anstelle von CUDA oder OpenCL. –
Auch gibt es keine "CUDA Grafikkarte". CUDA ist nicht in Hardware implementiert, es wird in den nativen Befehlssatz der GPU (d. H. Fermi) konvertiert (kompiliert). –
Die [C++ AMP-Spezifikation] (http://download.microsoft.com/download/4/0/E/40EA02D8-23A7-4BD2-AD3A-0BFFFB640F28/CppAMPLanguageAndProgrammingModel.pdf) erwähnt CUDA oder OpenCL nicht. – ildjarn