Jetson Developer Tools
NVIDIA JetPack™
The latest NVIDIA JetPack bundles all of the developer tools required to develop for the Jetson platform, including system profiler, graphics debugger, and the CUDA Toolkit.
Nsight Systems
Nsight Systems is a low overhead system-wide profiling tool, providing the insights developers need to analyze and optimize software performance. It uses GPU tracing, CPU sampling and tracing, and OS thread state tracing to visualize an application’s algorithms, helping developers identify the largest opportunities to optimize their code.
Nsight Graphics
Nsight Graphics is a console-grade tool that allows you to debug and optimize your OpenGL and OpenGL ES applications, enabling you to get the latest, most advanced GPU features with the Jetson platform.
CUDA Toolkit
CUDA Toolkit provides a development environment for creating high-performance GPU-accelerated applications, and includes all the necessary debugging, correctness and optimization tools, including
- Debuggers
-
cuda-gdb: command line debugger
-
Nsight Eclipse Edition: Eclipse IDE editor & debugger
- Profiling
-
Nsight Compute: GUI+CLI profiler and API debugger.
- Code Correctness
-
Compute Sanitizer: Suite of code correctness tools.
- API Libraries
-
CUPTI: Profiling and Trace API Library.
-
Compute Sanitizer API: Code Correctness API Library.
-
Debugger API: CUDA Debugging APIs
Externally Available:
Some CUDA tools are available from non NVIDIA sites or from within IDEs:
- Debuggers
-
Nsight Visual Studio Code Edition: Visual Studio Code extension for CUDA development & debugging.
Development Tools:
NVIDIA Nsight Eclipse Edition
Source: CUDA Toolkit (included with JetPack)
Type: Debugger
Nsight Eclipse Edition is a full-featured IDE powered by the Eclipse platform. It provides an all-in-one integrated environment to edit, cross-compile, and debug CUDA-C applications. Nsight Eclipse Edition supports a rich set of commercial and free plugins.
CUDA GDB
Source: CUDA Toolkit (included with JetPack)
Type: Debugger
CUDA-GDB is a command line tool that delivers a seamless debugging experience allowing you to debug both the CPU and GPU portions of your application simultaneously.
Compute Santizer
Source: CUDA Toolkit (included with JetPack)
Type: Code Correctness
Compute Sanitizer is a functional correctness checking suite. This suite contains multiple tools for detecting hazardous conditions in CUDA applications, including:
- Memcheck: Detects out of bounds and misaligned memory accesses.
- Racecheck: Identifies memory access race conditions.
- Initcheck: Reveals uninitialized device global memory accesses.
- Synccheck: Reports on incorrect usage of synchronization primitives.
Nsight Compute
Source: CUDA Toolkit (included with JetPack)
Type: Profiler
Nsight Compute is the new interactive kernel profiler for CUDA applications. It runs on your Linux host computer and provides detailed performance metrics for analysis and enables results comparison between baselines and the current run. Nsight Compute can be extended with analysis scripts for post-processing results. Guided Analysis points to hotspots and GPU usage imbalances. Also included is a command line tool that can be run on your Jetson system or on your Linux host computer.
Nsight Visual Studio Code Edition
Source: Microsoft Visual Studio Code Marketplace
Type: Debugger
Nsight Visual Studio Code Edition is an extension for Visual Studio Code that brings CUDA® development for GPUs into Microsoft Visual Studio Code, including features such as Intellisense, debugger views, and productivity enhancements. Debugging in Nsight™ VSCE enables you to build and debug GPU kernels and native CPU code as well as inspect the state of the GPU and memory.
API Libraries:
CUDA Profiling Tools Interface (CUPTI)
Source: CUDA Toolkit (included with JetPack)
Type: Profiling and Event Trace
A dynamic library that enables the creation of profiling and tracing tools that target CUDA applications. CUPTI provides a set of APIs targeted at ISVs creating profilers and other performance optimization tools.
Using these CUPTI APIs, independent software developers can create profiling tools that provide low and deterministic profiling overhead on the target system, while giving insight into the CPU and GPU behavior of CUDA applications.
Debugger API
Source: CUDA Toolkit (included with JetPack)
Type: Debugging
The Debugger API is a set routines and data structures available in the CUDA library for development of 3rd party debuggers.
Using the Debugger APIs, independent software developers can create debugging tools that allow application attach & detach, execution control, state inspection, and exception reporting on the target system, while giving insight into the CPU and GPU behavior of CUDA applications.
Compute Sanitizer API
Source: CUDA Toolkit (included with JetPack)
Type: Code Correctness
This API enables the creation of code correctness tools for use on CUDA applications. Examples of such tools are memory and race condition checkers. The Compute Sanitizer API is composed of three APIs:
- The Callback API.
- The Patching API.
- The Memory API.
Using these Compute Sanitizer APIs, independent software developers can create sanitizing and tracing tools that target CUDA applications.
JetPack, L4T, and SDK Information
The L4T BSP and other software libraries are available under Develop → Software.