A Powerful IDE for GPU Computing on Windows Codenamed “Nexus” · Supercomputing ‘09 |...

10
Supercomputing ‘09 | November 2009 | Stephen Jones, Product Line Manager, NVIDIA A Powerful IDE for GPU Computing on Windows Codenamed “Nexus”

Transcript of A Powerful IDE for GPU Computing on Windows Codenamed “Nexus” · Supercomputing ‘09 |...

Supercomputing ‘09 | November 2009 | Stephen Jones, Product Line Manager, NVIDIA

A Powerful IDE for GPU Computing on Windows Codenamed “Nexus”

Massively Parallel Application Design

Considerations

Asynchronous processing

Memory transfers

Tens of thousands of threads

Debugging divergent branches

Complex memory hierarchy

Device

Grid 1

Block

(0, 0)

Block

(1, 0)

Block

(2, 0)

Block

(0, 1)

Block

(2, 1)

Block

(1, 1)

Host

Kernel

2

Kernel

1

Grid 2

Block (1, 1)

Thread

(0, 0)

Thread

(1, 0)

Thread

(2, 0)

Thread

(3, 0)

Thread

(4, 0)

Thread

(0, 1)

Thread

(1, 1)

Thread

(2, 1)

Thread

(3, 1)

Thread

(4, 1)

Thread

(0, 2)

Thread

(1, 2)

Thread

(2, 2)

Thread

(3, 2)

Thread

(4, 2)

NVIDIA “Nexus” Development Environment

Complete Visual Studio-integrated solution

The industry’s first IDE solution for massively parallel applications

Accelerates co-processing (CPU + GPU) application development

CUDA C, OpenCL and DirectCompute

“Nexus” : A Development Environment for

Massively Parallel Applications

Parallel Debugger

GPU source code debugging

Variable & memory inspection

System Analyzer

Platform-level Analysis

For the CPU and GPU

Visualize Compute Kernels,

Driver API Calls, and

Memory Transfers

Graphics InspectorVisualize and debug graphics content

“Nexus” Massively Parallel Debugger

Visual Studio Integration Memory, Locals, Watch, Register,

Breakpoint, and Thread Views

Syntax highlighting

Parallel Debugging ToolsSource, Conditional and Data Breakpoints

Warp level run control and stepping

Focus Picker for switching between

thousands of active threads

Out-of-bounds Memory Checker

“Nexus” Platform Analyzer

System Trace (GPU + CPU) Visualize Compute Kernels, Driver API

Calls and Memory Transfers

Optimize GPU Utilization

Custom Markers and Events

CUDA Profiling

Hardware Counters

Reporting ViewsSummary Reports

Timeline View

cuda-gdb

Supports both 32 and 64 bit

Seamlessly debug both the host/CPU and device/GPU

Massively Parallel Development

Tools for Linux

Visual Profiler

Cross-platform compute profiler

Tools Partners

Allinea and TotalView

“Nexus” Availability

Beta available November 2009 | Releasing in late Q1 2010 | www.nvidia.com/nexus

“Nexus” Standard “Nexus” Professional

Price No Charge $349

Platforms Windows Vista, Windows 7 Windows Vista, Windows 7

IDE Integration Visual Studio 2008 SP1 Visual Studio 2008 SP1

CUDA C

DirectCompute

OpenCL (Profiling-only)

Data Breakpoints

Buffer Visualization

System Trace (CPU + GPU)

Professional Support

Conclusion

NVIDIA GPUs provide support for debugging and profiling.

“Nexus” delivers professional tools for massively parallel application development within Visual Studio.

Visual Profiler and cuda-gdb support Linux development.

NVIDIA supports other vendors, such as Allinea and TotalView for professional class solutions for Linux.

Register for the “Nexus” beta program:www.nvidia.com/nexus.

Register for the “Nexus” beta program:

www.nvidia.com/nexus

Stephen Jones ([email protected])

Product Line Manager, NVIDIA