2012-04-12 7 views
2

Ich bin ziemlich neu in der GPU-Programmierung und ich habe von keinem anderen Weg (abgesehen von CUDA und OpenCL) gehört, um die Videoboard zu verwenden, also frage ich mich, ob es andere Möglichkeiten gibt, es zu benutzen. Kann mich jemand auf einige Beispiele hinweisen?Gibt es irgendwelche Möglichkeiten, die Grafikkarte zu benutzen (abgesehen von CUDA und OpenCL)?

Und noch eine Frage: D: Nutzen OpenGL und DirectX die Grafikkarte? Wenn ja, kannst du mir bitte sagen wie?

P.S: Ich benutze C++.

Edit: Vielen Dank für Ihre schnelle Antworten.

Soweit ich weiß, wird die Grafikkarte für die parallele Verarbeitung verwendet (Same Instruction Multiple Data). Wenn Sie es erwähnt haben, würde ich auch gerne wissen, ob es auch andere Arten der Verwendung der Grafikkarte gibt (besonders für die älteren, da sie OpenCL und CUDA nicht unterstützen, ich denke, dass sie keine parallele Verarbeitung durchführen können) .

Antwort

0

OpenCL, OpenGL, DirectX und bis zu einem gewissen Grad CUDA sind nur Schnittstellenspezifikationen, die ein Hardwarehersteller in einem Treiber implementieren kann. Diese Schnittstellen können dann verwendet werden, um zu nutzen, was auch immer vom Treiber angesteuert wird. In den meisten Fällen ist dies eine GPU für diese Schnittstellen. Es gibt andere Schnittstellen (WDDM gibt mehr Schnittstellen an), um mit einer GPU zu kommunizieren, aber sie haben alle bestimmte Anwendungsfälle. Vielleicht möchten Sie klären, was Sie unter "Verwendung der grahpics-Karte" verstehen.

2

addional GPGPU Sprachen/Stanadards

Brook

OpenACC

OpenMP

Und noch eine Frage: D: Do OpenGL und DirectX nutzen die Grafikkarte? Wenn ja, kannst du mir bitte sagen wie?

Vor der Einführung von Shadern wurden die Rendering-Prozesse sequentiell durch feste Funktion circuits.After Shader Modell implementiert wurde eingeführt, Vertex-Shader-Prozessoren und Pixel-Shader-Prozessoren wurden hinzugefügt thefixed-Funktionsblocks zu ersetzen. Jetzt ist jeder Stream-Core ein vereinheitlichter Shader-Prozessor, der sowohl Vertex/Geometry/Pixel Shader als auch Hull und Doman Shader, erzeugt in DirectX11 und auch Compute Shaders-Kerrels, ausführen kann. Somit kann die volle Kapazität der Shader überhaupt genutzt werden Mal, um die Leistungseffizienz des Shaders zu maximieren.

1

Ich bin ziemlich neu in GPU-Programmierung und ich habe keine andere Art und Weise (abgesehen von CUDA und OpenCL) zu verwenden, um den Video-Board

Es gibt OpenCL und OpenMP gehört. ATI hatte auch eine Art von API (denke ich), aber ich habe vergessen, wie es heißt.

Nutzen OpenGL und DirectX die Grafikkarte?

Natürlich tun sie. Insbesondere DirectX wurde entwickelt, um mehr oder weniger einfachen Zugriff auf die Hardwarebeschleunigung zu bieten. Sie können das Rendern auf der CPU nicht mit derselben Geschwindigkeit durchführen.

, ich möchte auch wissen, ob es Art von Anwendungen von der Grafikkarte

Wenn die Karte unterstützt Punkt Texturen schwimmend auch andere sind, können Sie Fragment/Pixel-Shadern in Verbindung mit denen verwenden Texturen, um einige Berechnungen auf der GPU durchzuführen, auch wenn GPU CUDA/OpenCL/was auch immer nicht unterstützt. I denken Technik wurde GDGPU genannt. DirectX sdk hatte vor einer Weile "GPU cloth" und im NVidia OpenGL SDK gibt es "GDGPU fluid" and "GPU particles". Bitte beachten Sie, dass der Versuch, übermäßig teure Berechnungen durchzuführen (wie das Ausführen einer erschöpfenden Suche auf der Textur 4096x4096 für jedes gerenderte Pixel) auf der GPU auf diese Weise das System auf bestimmter Hardware blau screenen kann.

Verwandte Themen