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
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 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 is a standalone application for the debugging, profiling, and analysis of graphics applications. It allows you to optimize the performance of your Direct3D 11, Direct3D 12, DirectX Raytracing, OpenGL, Vulkan, and NVIDIA VKRay based applications.
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.
Linux Graphics Debugger
Linux Graphics Debugger is a 3D graphics development tool that allows developers to debug and profile OpenGL 4.3-4.5 on Linux. It enables professional graphics developers to get the most out of their NVIDIA GeForce and Quadro GPUs on a variety of Linux distributions.
NVIDIA System Profiler
NVIDIA System Profiler is a multi-core CPU sampling profiler that provides an interactive view of captured profiling data, thereby helping to improve overall application performance.
Texture Tools for Photoshop
A collection of texture tools generating normal maps, texture compression, mip map generation, and cube map formatting packaged as a plugin for Adobe Photoshop.
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.
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 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.
PerfHUD ES provides in-depth analysis of OpenGL ES applications on legacy Tegra devices. The profiling and debugging capabilities provide access to GPU performance and bottleneck information, insight into the state of the OpenGL ES pipeline, related textures and shaders, and all rendering states to help fix and optimize your application.