Nvidia has introduced an advanced development environment for massively parallel computing. Nexus - which is integrated into Microsoft Visual Studio - includes tools that simultaneously analyze the efficiency, performance and speed of both the GPU and CPU.
"Programming without the proper ability to fully debug is terrible. It is much like working with punch cards," Sanford Russell, Nvidia's General Manager of CUDA, told TG Daily.
"Years ago, we began to think of a plug-in solution for Visual Studio users that would enable them to easily develop GPU-based applications. We wanted to integrate the CPU and GPU [programming] process and had to change our hardware to fit such a model. Remember, the GPU is not designed to start and stop like a CPU."
According to Russell, Nexus "radically" improves productivity by enabling GPU software developers to use Visual Studio-based tools without having to create a separate version that incorporates diagnostic software calls. Russell also noted that Nexus is capable of remotely executing code on different PCs.
Nexus comprises three components:
- A source code debugger for GPU source code, such as CUDA C, HLSL and DirectCompute. The debugger supports source breakpoints, data breakpoints and direct GPU memory inspection. All debugging is performed directly on the hardware.
- The Nexus Analyzer is a system-wide performance tool for viewing GPU events (kernels, API calls, memory transfers) and CPU events (core allocation, threads and process events and waits) — all on a single, correlated timeline.
- The Nexus Graphics Inspector allows developers to debug and profile frames rendered using APIs such as Direct3D. In addition, developers can use the component to scrub through draw calls and view textures, vertex buffers or API states.