Remote GPU Debugging in Visual Studio 11


Hi my name is Paul Maybee and I am the architect on the Parallel and GPU debugger team, working closely with the C++ AMP team.

We covered previously how to debug C++ AMP code locally, so please read our post on “Start GPU Debugging in Visual Studio 11”. I’ll pick up from step 6 for those of you not wanting to run Windows 8 Consumer Preview on your main development machine.

This post contains the steps necessary to debug a C++ AMP program on a remote host running Windows 8 from a local machine on which you have installed Visual Studio 2012 RC.

For the purpose of these instructions I will make the following assumptions:

  1. The remote machine is named WIN8REMOTE.
  2. The local machine is running a 64 bit operating system.
  3. The location \\WIN8REMOTE\C$\temp is writable from the local machine. 
  4. Visual Studio is installed at “c:\Program Files (x86)\Microsoft Visual Studio 11.0”
  5. The application to be debugged is HelloWorld_AMP.exe found in “%USERPROFILE%\documents\visual studio 11\projects\HelloWorld_AMP\Debug”, built for Win32.  

If these assumptions don’t exactly match your setup then make corresponding changes to the instructions below.

Step 1: One time setup of WIN8REMOTE for remote debugging

  • Install the Windows SDK on WIN8REMOTE.
  • Copy the contents of “c:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Remote Debugger\x86\” to \\WIN8REMOTE\c$\temp\debugger.
  • Log on to WIN8REMOTE and run c:\temp\debugger\msvsmon.exe. When the firewall dialog box comes up allow it to “Configure remote debugging”. 

     Step 2: Configure your project properties for remote debugging

  • Select Project->Properties to open the properties dialog and then Configuration Properties ->Debugging as per screenshot that follows
  • Set “Debugger to launch” to “Remote Windows Debugger”
  • Set “Remote Command” to “c:\temp\HelloWorld_AMP\HelloWorld_AMP.exe” 
  • Set “Working Directory” to “c:\temp\HelloWorld_AMP\”
  • Set “Deployment Directory” to “c:\temp\HelloWorld_AMP\”
  • Set “Remote Server Name” to “WIN8REMOTE”
  • Set “Debugger Type” to “GPU Only”

       

Step 3: Start debugging

  • Set a breakpoint on line 11 (“av[idx] += 1;”).
  • Press F5 and enjoy

       

That’s all! If you have any questions, please feel free to ask in the comments section below.

Comments (8)

  1. Dmitri says:

    So, has this problem been solved? Is it now possible to debug on Win7?

  2. DanielMoth says:

    Hi Dmitri, sorry, there has been no change in this area. We'll make a new blog post if something changes…

  3. Jim says:

    Really no change? How many people are honestly going to bother if they have to install win 8 as no one working on GPU acceleration will update to Win8 until we are sure it is stable plus most companies aren't going to allow us to update or even use a Win8 VM until it is approved which will be a year at least.? This is ridiculously as you guys have known about it for so long and still no resolution and win8 is already RTM

  4. Hi Jim,

    Thanks for your feedback. We do acknowledge the need for debugging support in Windows 7 and when we mitigate that hindrance, we will definitely have a blog post on the topic.

    Thanks

  5. Gabe says:

    Wow MSFT… took you only 9 Month to figure out that you will be doing nothing at all: social.msdn.microsoft.com/…/774a19a5-4bf4-42dd-bee7-4cf2a74bfdb6

  6. Pissed says:

    Gave is right 9 months really? I thought MS was serious about the success of Amp but this really shows they aren't. This isn't DirectX vs OpenGL. There is actual real compition like OpenCL and CUDA. This lack of support has removed my enthusiasm for what wasn't really anything particularly special.

  7. Amy says:

    Hi,

    Checking for an update on this.

    Thank you

  8. Hi everyone,

    In case anyone missed it, couple of days ago, we announced the availability of GPU debugging support in Windows 7. The following post has more details blogs.msdn.com/…/c-amp-gpu-debugging-now-available-on-windows-7.aspx

Skip to main content