CUDA Development Using NVIDIA Nsight, Eclipse Edition David Goodwin
NVIDIA Nsight Eclipse Edition CUDA Integrated Development Environment Project Management Edit Build Debug Profile SC'12 2
Powered By Eclipse Extensible via robust selection of open-source and commercial plugins Revision control: CVS, SVN, Git, Perforce, Issue tracking Strong cross-platform support Nsight Eclipse Edition available for Linux and Mac OSX SC'12 3
Included In CUDA Toolkit SC'12 4
Project Management CUDA Integrated Development Environment Project Management Edit Build Debug Profile SC'12 5
Nsight Project Support CUDA C / C++ Project Types Executable Shared Library Static Library New vs. Existing New project, build managed by Nsight Existing project, Nsight can use your Makefile SC'12 6
Creating A New CUDA Project SC'12 7
Creating A New CUDA Project SC'12 8
Creating A New CUDA Project SC'12 9
Edit CUDA Integrated Development Environment Project Management Edit Build Debug Profile SC'12 10
CUDA Editor CUDA-aware syntax highlighting Host / Device code highlighting Smart code assist As-you-type error detection CUDA API documentation pop-ups Automatic code refactoring SC'12 11
CUDA-Aware Syntax Highlighting SC'12 12
Smart Code Assist SC'12 13
CUDA API Documentation SC'12 14
Build CUDA Integrated Development Environment Project Management Edit Build Debug Profile SC'12 15
CUDA Builder Full CUDA toolchain support All nvcc features Debug, release, and custom build configurations Dependent project support Static libraries Shared libraries Manages all build dependencies Source-correlated error reporting SC'12 16
Compiler Settings SC'12 17
CUDA-Specific Build Settings Auto-detection of available GPU devices Generate GPU and PTX code SC'12 18
Build Error Reporting SC'12 19
Run Application SC'12 20
Debug CUDA Integrated Development Environment Project Management Edit Build Debug Profile SC'12 21
CUDA Debugger Unified CPU / GPU Debugging Simultaneous visibility into both CPU and GPU state Multi-GPU support Full GPU debugging Set kernel breakpoints Single-step, run until, etc. View variables, registers, and expression values across multiple GPU threads at the same time Examine thread, warp, block state Source and assembly level debugging SC'12 22
GPU / CPU Threads, Call Stacks SC'12 23
GPU / CPU Threads, Call Stacks Executing kernels and pinned device threads SC'12 24
GPU / CPU Threads, Call Stacks Executing process and host threads SC'12 25
GPU / CPU Variables, Registers, Expressions SC'12 26
GPU / CPU Variables, Registers, Expressions Variable values for multiple device threads SC'12 27
Correlated Source And Disassembly SC'12 28
Correlated Source And Disassembly Single-step through assembly or source SC'12 29
Memory Checker Support SC'12 30
Exception Reporting SC'12 31
CUDA Details SC'12 32
CUDA Details Distribution of kernel blocks across device processors SC'12 33
CUDA Details Source location of individual warps within a block SC'12 34
Profile CUDA Integrated Development Environment Project Management Edit Build Debug Profile SC'12 35
CUDA Profiler Unified GPU / CPU profiler Visualize GPU / CPU interactions Identify GPU utilization and efficiency bottlenecks View low-level counters and metrics Multi-GPU support Automated application analysis identifies optimization opportunities Online documentation gives direction on how to exploit opportunities to get performance improvement SC'12 36
Unified GPU / CPU Timeline SC'12 37
Unified GPU / CPU Timeline CPU CUDA Activity SC'12 38
Unified GPU / CPU Timeline GPU Activity SC'12 39
Kernel, Memcpy, etc. Properties SC'12 40
Automated Optimization Analysis SC'12 41
Analysis Documentation SC'12 42
Analysis Source Correlation SC'12 43
View Low-Level Counters and Metrics SC'12 44
Detailed Results SC'12 45
NVIDIA Nsight Eclipse Edition CUDA Integrated Development Environment Project Management Edit Build Debug Profile SC'12 46
Get Started! Download free CUDA Toolkit: www.nvidia.com/getcuda Join the community: developer.nvidia.com/join Visit demo stations Integrate your development experience with Nsight SC'12 47