Archiv verlassen und diese Seite im Standarddesign anzeigen : Einfache Frage: Kann man in CUDA debuggen?
Senior Sanchez
2010-04-13, 14:25:25
Hi,
Ich beschäftige mich gerade etwas mit GPGPU und als ich vorgestern in der Session-Übersicht von der nVidia GPU Technology Conference vom September 2009 geschaut habe, viel mir auf das nVidia mit Nexus (oder Parallel Insight wie es jetzt wohl heiß), eine Debugging-Möglichkeit anbietet.
Dabei hatte ich vor gut zwei Monaten erst ein Gespräch mit einem von Apples OpenCL Entwicklern, der mir als großen Vorteil gegenüber CUDA anpries, dass es in OpenCL die Möglichkeit des Debuggings über Umwege geben wird. Begründet wurde das damit, dass man GPUs im Grunde gar nicht debuggen kann, da Sie keine Interrupt-Behandlung besitzen.
Von daher die Frage: Kann man wirklich in CUDA debuggen oder wird das über irgendwelche Tricks gelöst?
Nasenbaer
2010-04-13, 16:39:55
http://developer.nvidia.com/object/nsight.html
Musst dich aber registrieren und hoffen, dass sie dich nehmen. Bei mir hats geklappt - zur Not von irgend 'nem Phantasie-Projekt erzählen. ^^
Senior Sanchez
2010-04-13, 17:10:07
Hm, ja, ich weiß ja, dass es das Projekt gibt, aber mich interessiert eben, ob das wirklich ein debuggen auf der GPU oder irgendetwas anderes ist. Registrieren wollte ich mich dafür bei nVidia nicht extra. ;)
Aquaschaf
2010-04-13, 18:31:21
Einerseits gibt es Cuda-gdb, damit kann man eingeschränkt debuggen. Zur Zeit kann man Cuda auch noch für die CPU kompilieren, und dort dann ganz normal debuggen (das wird auch das sein was man bei OpenCL macht). Dieser Emulationsmodus wird in zukünftigen Versionen von Cuda verschwinden, dann bleibt nur noch Parallel Insight.
Senior Sanchez
2010-04-13, 18:50:55
Genau über den CPU-Umweg macht es auch OpenCL.
Ist Parallel Insight dann die Cuda-gdb Variante?
Danke!
Aquaschaf
2010-04-13, 18:55:25
Ist Parallel Insight dann die Cuda-gdb Variante?
Parallel Insight ist für Debugging in Visual Studio. Cuda-gdb wird auf in etwa die gleiche Funktionalität erweitert.
Dieser Emulationsmodus wird in zukünftigen Versionen von Cuda verschwinden, dann bleibt nur noch Parallel Insight.
Das kann ich ich mir nicht vorstellen. Die halten an Breakpunkten wirklich die komplette Grafikkarte an. Nexus aka Nsight benötigt entweder nen Rechner auf dem man per Remote debuggen kann oder, für nicht Grafik Anwendungen, ein System mit 2 Grafikkarten.
Aquaschaf
2010-04-14, 00:02:30
Das kann ich ich mir nicht vorstellen. Die halten an Breakpunkten wirklich die komplette Grafikkarte an. Nexus aka Nsight benötigt entweder nen Rechner auf dem man per Remote debuggen kann oder, für nicht Grafik Anwendungen, ein System mit 2 Grafikkarten.
Bei Fermi geht es mit nur einer Grafikkarte. Emulation ist in Cuda 3.0 bereits als 'deprecated' markiert, und in einer der nächsten Versionen soll es wegfallen.
Support for device emulation mode has been packaged in a separate version of the CUDA C Runtime (CUDART), and is deprecated in this release. Now that more sophisticated hardware debugging tools are available and more are on the way, NVIDIA will be focusing on supporting these tools instead of the legacy device emulation functionality.
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.