Frage

Ich habe angefangen zu benutzen DirectX 11 Berechnen Sie Shader Technologie für GP-GPU-Programmierung. Ich hatte ein ziemlich komplexes Programm auf HLSL geschrieben und als ich es debuggen wollte, wurde mir klar Pix Das Dienstprogramm von DX SDK August 2009 unterstützt keine Rechens Shader ... Ich weiß, dass Nvidia veröffentlicht wird Nexus Für Visual Studio, das Direct Comput -Debugging unterstützt, jedoch nur bei der nächsten Generation von NVIDIA -GPUs, die noch nicht veröffentlicht werden :( Berechnen Sie die Shader -Technologie für mich sehr vielversprechend, aufgrund der Unabhängigkeit von Geräten, aber es wäre sehr schwer zu verwenden, ohne Debugging zu verwenden Unterstützung.

Kennen Sie Werkzeuge oder Ansätze, die zum Berechnen von Shader -Debugging verwendet werden können, das ab sofort verfügbar oder in naher Zukunft zur Veröffentlichung geplant ist?

War es hilfreich?

Lösung

Ich warte auf Nvidia Nexus weit verbreitet werden. Vielleicht könnte Microsoft etwas entwickeln, das mit dem Referenz -Rasterizer funktioniert, aber ich würde sagen, dass es wichtig ist, eine enge Integration in die Hardware zu erhalten: In einem solchen Fall könnten nur Anbieter die erforderlichen Tools bereitstellen.

Jemand kann wissen, ob AMD plant, Unterstützung für Berechnung von Shadern in hinzuzufügen GPU Perfstudio.

Andere Tipps

Eine effiziente Möglichkeit, den komplexen HLSL -Berechnungssader zu entwickeln und zu debuggen, besteht darin, ihn mit C ++ zu kompilieren. Sobald Sie erreicht haben, dass Sie Ihre IDE-Debugging-Funktionen nutzen können, die Sie normalerweise mit C ++ -Spertremien und variabler Suche usw. verwenden. Unten finden Sie ein Proof-of-Concept-Demo-Projekt, das zeigt, wie ein Beispiel DirectX HLSL Compute Shader debuggen:

https://github.com/cezbloch/Shaderator

Sobald Ihr Code funktioniert und korrigiert, führen Sie ihn auf GPU aus - das C ++ -Verion soll nur bei der Entwicklung helfen.

Entschuldigung, aber es gibt keine triviale Antwort auf diese Frage für den Moment.

Vielleicht versuchen Sie, sich für das Nvidia Nexus Beta -Programm anzumelden:http://supportcenteronline.com/ics/support/default.asp?deptid=4639

Wo hast du gelesen? Nexus Benötigen Sie eine Fermi-basierte GPU? Ich dachte, dass die Anforderungen, bei denen eine SLI-fähige Workstation mit 2 NVIDIA-GPUs oder 2 NVIDIA-basierte Workstationen (und dann das Ziel aus der Ferne debuggen).

Leider ähnelt das Debugging -Computer -Shader dem Debugging -Scheitelpunkt- und Pixel -Shaders früher ... der beste Weg, den ich gefunden habe, ist, kleine Änderungen und Ausgabetestwerte für eine temporäre Texturressource vorzunehmen. Anschließend können Sie die Texturressource auf den Bildschirm Ihrer Anwendung (oder sogar in der Datei gespeichert) rendern und diese verwenden, um Informationen darüber zu extrahieren, was in Shader vor sich geht.

Es ist wirklich eine schreckliche Situation, aber so ist die Werkzeugsituation gerade ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top