NVIDIA® Nsight™ Application Development Environment for Heterogeneous Platforms, Visual Studio Edition 5.2 User Guide
Send Feedback
The CUDA Information tool window shows information on the current state of CUDA within the process that is being debugged.
As an alternate option, you can also right-click on the project in Solution Explorer and choose Start CUDA Debugging.
This displays the number of rows in the current view. If the view is filtered, the number shown may be less than the number of total rows.
A hyperlink will use a specific filter to jump the current tool window to another page. For example, clicking a link in the Modules column will link you to the Modules tool window.
Use $("Column Name")
to specify by the exact name of the column, including spaces. The column name must be quoted.
$("Active Mask") == 0xffffffff
The results in each page can be filtered by an expression. This leads to shorter expressions.
Status=="Breakpoint" && FlatBlockIdx > 30
Other tips for filtering:
Name.StartsWith("bar")
, Name.Contains("bar")
, Name.Endswith("bar")
, and !
operations. Bookmarks are a quick way to jump to a specific page, with a preset filter.
When debugging, each page will persist the last state that it was displaying. Any filters that have been created by clicking on a hyperlink will not be persisted in the next debug session.
To update the current focus in the Warps and Lanes pages, you can use any of the following methods:
There are several pages within this tool window that allow you to view different aspects of your CUDA application that is being debugged.
The CUDA Information tool window pages include the following:
The Arrays page shows information about all arrays in the process that is being debugged.
For more information on the Arrays page, see CUDA Arrays.
The Blocks page shows all active blocks in the current kernel running on the GPU. The link in the CUcontext column will open the Contexts page. The hyperlink in the # Warps column will jump to the Warps page, filtered to the specific block.
The Contexts page shows information about all contexts on all GPUs in the process that is currently being debugged. Information on this page is always available, even when the process has not been stopped.
Note that the SW Preemption column is used to show if the application is using software preemption (on a single GPU) or non-preemption (either classic or hardware).
For more information on CUDA context object types, see CUcontext.
The Functions page shows information about all functions in all loaded modules. Information on this page is always available, even when the process has not been stopped.
The Grids page shows all active and queued kernels on the GPU. The current kernel will have a # Blocks greater than 0. Other kernels will show # Blocks set to 0.
The Lanes page displays information about all lanes in the current focus warp. A lane is a single thread in one warp.
The current state of the lane is shown as a barrier in the Status column.
This page shows information for all CUDA global memory allocations, in all CUcontexts
in the application. This page automatically updates when suspended in a kernel.
Like other pages, the results can be filtered. For example:
CUcontext==0x02c8c258 MemoryAllocationType == "Host" && Size > 100
A few columns to note on this page include the following:
cudaMalloc
). Host is used for any memory allocated from the host mapped on the device (e.g., cudaHostAlloc
, cudaHostRegister
, or other CUDA API calls). HostPtr
address via cudaHostGetDevicePointer
.
The Host Ptr
is as follows:
0x00000000
. cudaHostAlloc
, cudaHostRegister
, or other host mapping function.cudaHostAlloc
or cudaHostRegister
call.Right-click on a particular line and select Set Memory View Expression to open the Memory window.
The Modules page displays information about all modules in all contexts. The information shown here matches the modules that are seen in the Visual Studio Modules view. Information on this page is always available, even when the process has not been stopped.
Tips for using the Modules page:
The Dynamic Parallelism column shows whether there is a nested kernel launch, in which a kernel launches another kernel. For more information, see CUDA Dynamic Parallelism.
The Surfaces page provides details on all of the CUDA surface object handle types per CUDA context.
For more information, see Surface Object API.
The Textures page provides details on all of the CUDA texture object handle types per CUDA context.
For more information, see Texture Object API.
The Warps page displays all active warps on the GPU. Each row represents one warp, and the Lanes column displays information about all lanes for each of the warps in the view. A lane is a single thread in one warp. The Lanes column gives per-lane details about any warp exceptions; the current state is shown in the Lanes column.
Focus
- The current focus is denoted by a yellow arrow.
- Using right-click > Set Focus on the lane index number, or double-clicking a thread in the Lanes column, will change the view to that specific thread.
- Using right-click > Set Focus or double-clicking elsewhere in the same row will go to the first active thread in the selected warp.
- The user can switch to either active or inactive lanes; however, the focus cannot be changed to Not Launched lanes.
The user can freeze specific warps within the warps page itself. This set of frozen warps is managed separately from the global freeze control. Freezing warps 1, 2, and 3, and then toggling the global freeze state will leave those warps frozen. (See How To: Use the Global Freeze Page for more details.)
Filtering results:
- Use the Warp Exceptions bookmark to filter to only the warps currently in an exception state.
- Use the Warps @ Breakpoint bookmark to filter to only the warps that have hit a breakpoint.
The color legend for the Lanes column is as follows:
Color | Thread State | |
---|---|---|
Gray | Inactive | |
Forest Green | Active | |
Light Sea Green | At Barrier | |
Red | At Breakpoint | |
Orange | At Assert | |
Dark Red | At Exception | |
Dark Gray | Not Launched | |
Light Gray | Exited |
Note that if you hover your cursor over a row in the lanes column, a tool tip will appear that shows the state of the lane.
For more information on the Warps page, see the Example Scenarios of the CUDA Warp Watch section.
NVIDIA® Nsight™ Application Development Environment for Heterogeneous Platforms, Visual Studio Edition User Guide Rev. 5.2.161206 ©2009-2016. NVIDIA Corporation. All Rights Reserved.