NVIDIA Developer Tools Overview
NVIDIA Developer Tools are a collection of applications, spanning desktop and mobile targets, which enable developers to build, debug, profile, and develop class-leading and cutting-edge software that utilizes the latest visual computing hardware from NVIDIA.
Figure 1. Flowchart describing working with new NVIDIA Nsight tools for performance optimization
NVIDIA® Nsight™ for desktop targets
Nsight Systems
All developers should start with Nsight Systems to identify the largest optimization opportunities. Nsight Systems provides developers a system-wide visualization of an applications performance. Developers can optimize bottlenecks to scale efficiently across any number or size of CPUs and GPUs; from large servers to our smallest SoC. For further optimizations to compute kernels developers should use Nsight Compute or to further optimize a 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. Nsight Compute also provides customizable and 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 your Direct3D 11, Direct3D 12, DirectX Raytracing, OpenGL, Vulkan, and NVIDIA VKRay based applications.
Other Utilities
NVIDIA® Nsight™ Visual Studio Edition
An application development environment for heterogeneous platforms, Nsight Visual Studio Edition brings GPU computing into Microsoft Visual Studio. Build, debug, profile and trace heterogeneous compute, graphics, virtual reality, RTX, .NET, and UWP applications built with CUDA C/C++, OpenCL, DirectCompute, Direct3D (11,12,DXR), Vulkan (1.1, Vulkan Ray Tracing Extension), OpenGL, OpenVR, and the Oculus SDK.
NVIDIA® Nsight™ Eclipse Edition
NVIDIA® Nsight™ Eclipse Edition is a full-featured IDE powered by the Eclipse platform that provides an all-in-one integrated environment to edit, build, debug, and profile CUDA-C applications. Nsight Eclipse Edition supports a rich set of commercial and free plugins.
SDKs and APIs
Nsight Aftermath SDK
NVIDIA® Nsight™ Aftermath SDK is a simple library you integrate into your DirectX 12 game’s crash reporter to generate GPU "mini-dumps" when a TDR or exception occurs.
NVIDIA 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, independent software developers can create profiling tools that give insight into the CPU and GPU behavior of CUDA applications.
PerfKit
NVIDIA PerfKit is a comprehensive suite of performance tools to help debug and profile OpenGL and Direct3D applications. NVIDIA Perfkit support does not go beyond the Maxwell platform. PerfWorks is the successor to NVIDIA's Perfkit
PerfWorks
PerfWorks is a C++ API used for GPU performance analysis on NVIDIA GPUs. PerfWorks allows developers the ability to instrument an application and to access low-level performance counters on NVIDIA GPUs.
Nsight for Android & Tegra mobile targets
NVIDIA® Nsight™ Tegra, Visual Studio Edition
Nsight Tegra, Visual Studio Edition brings the raw development power and efficiency of Microsoft Visual Studio to Android, enabling developers with project management, compilation, and integrated debugging tools to streamline Android development.
Android Manifest Validator
The Android Manifest Validator is a tool that helps developers verify that APK files maintain conformance to a configurable set of rules. Setting the rules properly can help maximize searchability in the Google Play store.
CodeWorks for Android
CodeWorks for Android installs all software tools required to develop for Android and reduces the complex process of configuring an Android development system down to a single click. With class leading native application development tools for Android, CodeWorks for Android is a professional grade solution designed to provide the best development platform not only for Tegra powered devices but also for all Android devices. Available for Windows, OSX, Ubuntu Linux 32-bit, and Ubuntu Linux 64-bit platforms.
Tegra Graphics Debugger
Tegra Graphics Debugger is a console-grade tool that allows developers to debug and profile Vulkan 1.0, OpenGL 4.3-4.5, and OpenGL ES 2.0-3.1 APIs, enabling developers to get the most out of their Tegra-powered device.
For Windows and Linux graphics debugging, please refer to Nsight Graphics
Tegra Graphics Debugger is provided as part of the CodeWorks For Android suite.