# NVIDIA Nsight Developer Tools

NVIDIA Nsight™ tools are a powerful set of libraries, SDKs, and developer tools spanning across desktop and mobile targets that enable developers to build, debug, profile, and develop software that utilizes the latest accelerated computing hardware.

NVIDIA Nsight tools for software development.

## What Segment Are You Working on?

- **CUDA/Compute**
- **Graphics**
- **OptiX**
- **Deep Learning**

### Nsight Systems

Nsight Systems provides a system-wide visualization of an application’s performance, so you can optimize bottlenecks to scale efficiently across any number or size of CPUs and GPUs. To further optimize compute kernels, use Nsight Compute, and to further optimize graphics workloads, use Nsight Graphics.

### Nsight Compute

Nsight Compute is an interactive kernel profiler for CUDA applications. It provides detailed performance metrics and API debugging via a user interface and command-line tool. It also provides a customizable, data-driven user interface and metric collection that can be extended with analysis scripts for post-processing results.

### Nsight Graphics

Nsight Graphics is a standalone application for the debugging, profiling, and analysis of graphics applications on Microsoft Windows and Linux. It allows you to optimize the performance of applications based on Direct3D 11, Direct3D 12, DirectX Raytracing 1.1, OpenGL, Vulkan, and the Khronos Vulkan Ray Tracing Extension.

### Nsight Visual Studio Edition (VSE)

Nsight VSE is an application development environment for heterogeneous platforms that brings GPU computing into Microsoft Visual Studio. Nsight VSE allows you to build and debug integrated GPU kernels and native CPU code, as well as inspect the state of the GPU and memory.

### Nsight Copilot

Nsight Copilot is NVIDIA’s AI-powered accelerated computing assistant. It provides intelligent code suggestions and assistance for CUDA development. Available as a Visual Studio Code Extension and integrated in Nsight Tools.

### Nsight Cloud

The Nsight Cloud suite enhances the developer experience of Nsight tools in containerized cloud, cluster, data center and HPC environments. It simplifies and enables profiling in these environments. As well as deployable standalone tools to increase productivity.

### Nsight Visual Studio Code Edition (VSCE)

Nsight VSCE is an application development environment for heterogeneous platforms that brings CUDA development into Microsoft Visual Studio Code. Nsight VSCE lets you build and debug GPU kernels and native CPU code, as well as inspect the state of the GPU and memory.

### Nsight Tools JupyterLab Extension

Nsight Tools JupyterLab Extension allows profiling Python and other supported languages directly in JupyterLab using Nsight Systems and Nsight Compute. The extension enables detailed performance analysis on the execution of individual cells.

### Nsight Python

Nsight™ Python is a Python-first GPU profiling framework API that automates performance analysis using Nsight tools.

### Nsight Eclipse Edition

Nsight Eclipse Edition is a full-featured integrated development environment powered by the Eclipse platform for editing, building, debugging, and profiling CUDA-C applications. Nsight Eclipse Edition supports a rich set of commercial and free plug-ins.

### CUDA-GDB

CUDA-GDB is an extension to GDB, the GNU Project debugger. The tool provides you with a mechanism for debugging CUDA applications running on actual hardware, so you can debug applications without the potential variations introduced by simulation and emulation environments.

### Compute Sanitizer

Compute Sanitizer is a functional correctness checking suite that contains multiple tools for different types of checks—including checks for memory access errors, shared memory data access hazards, uninitialized accesses to global memory, and invalid usage of synchronization primitives.

### Nsight Aftermath SDK

The Nsight Aftermath SDK is a simple library you integrate into your DirectX 12 game’s crash reporter to generate GPU "mini-dumps" when a timeout detection and recovery (TDR) or exception occurs.

### Nsight Perf SDK

The Nsight Perf SDK is a graphics profiling toolbox for DirectX, Vulkan, and OpenGL, enabling you to collect GPU performance metrics directly from your application.

### CUDA Profiling Tools Interface (CUPTI)

CUPTI is a dynamic library that enables the creation of profiling and tracing tools that target CUDA applications. Using the CUPTI APIs, you can create profiling tools that give insight into the CPU and GPU behavior of CUDA applications.

### NVIDIA Tools Extension SDK (NVTX)

NVTX is an API for annotating events, code ranges, and resources in your applications. Applications that integrate NVTX can use Nsight VSE to capture and visualize these events and ranges. NVTX provides additional information to improve the presentation of data.

### Nsight Deep Learning Designer

Nsight Deep Learning Designer is an integrated development environment that lets you efficiently design and develop deep neural networks for in-app inference.

### Compute Sanitizer API

Compute Sanitizer is a functional correctness checking suite that contains multiple tools for different types of checks. The Compute Sanitizer API enables the creation of sanitizing and tracing tools that target CUDA applications.

### Debugger API

The Debugger API provides a public, abstracted, debugging model for GPUs. This is the same API that is used by our open-source CUDA-GDB tool, and it provides the necessary functionality for developing your own debuggers. It supports GPU architectures from NVIDIA Maxwell™ onward.

## Get Started

Explore the latest resources to help you set up and use Nsight Developer Tools.

## Legacy Tools

- [Nvprof](https://docs.nvidia.com/cuda/profiler-users-guide/index.html#nvprof-overview)
- [NVIDIA Visual Profiler (NVVP)](https://developer.nvidia.com/nvidia-visual-profiler)
- [NVIDIA PerfKit](https://developer.nvidia.com/nvidia-perfkit)
- [NVIDIA Nsight Tegra®, Visual Studio Edition](https://developer.nvidia.com/nvidia-nsight-tegra)
- [CodeWorks for Android](https://developer.nvidia.com/codeworks-android-archive)
- [Tegra Graphics Debugger](https://developer.nvidia.com/tegra-graphics-debugger)

## FAQ

[Q: Are developer tools available as a suite or individual downloads?](https://developer.nvidia.com/tools-overview#collapseOne)  
A: Many of the tools are available as standalone downloads on their specific product pages. Several of the tools are also packaged inside toolkits and SDKs like the CUDA Toolkit, HPC SDK, and NVIDIA JetPack™ SDK. For specific components in each package, check the release notes. Sometimes a newer version of a tool will be available from the product download page if it was released after the toolkit or SDK shipped.

[Q: Which tool do I start with to profile my application?](https://developer.nvidia.com/tools-overview#collapseTwo)  
A: Nsight Systems is the high-level system profiler to help you understand the performance and bottlenecks of your platform. It’s applicable to both graphics and compute workloads and has built-in expertise to detect and provide advice about common performance issues.

[Q: What are the system requirements for these tools?](https://developer.nvidia.com/tools-overview#collapseThree)  
A: Each tool will have its own individual requirements for both hardware and software. Check the specific product page of the tool you’re interested in for more information.
