NVIDIA Parallel Nsight (aka Nexus) NVIDIA DevTech | Anton Obukhov Что такое Nexus? NVIDIA Nexus – Среда разработки приложений для гетерогенных платформ Nexus интегрируется в Microsoft Visual Studio с целью обеспечить гетерогенность разработки NVIDIA Corporation, 2010 Windows Development Environment CPU GPU Languages Edit o Compiler i s d l o Shader Debugger u Build o t T S Compute Debugger l U a u Debug P Compute Profiler G s i V Graphics Debugger Profile Graphics Profiler NVIDIA Corporation, 2010 … чего хотят разработчики CPU GPU Code Browsing Edit GPU Intellisense o i CPU CUDA Project d Build u GPU System t S CPU GPU Source and l a Debug GPU Graphics Debugger u s i V CPU GPU Performance Profile GPU Tools Platform Analysis CPU GPU NVIDIA Corporation, 2010 NVIDIA Nexus Возможность разработки для CPU и GPU в едином цикле разработки приложения • Отладка кода на самом GPU • Анализ активности • Интеграция с Visual Studio 2008 NVIDIA Corporation, 2010 Nexus Overview Microsoft Visual Studio 2008 SP1 Nexus Build Debug Profile System Trace: OS, CUDA Project System DirectX Frame HLSL Source DirectX Frame CUDA, DirectX, OpenCL, OpenGL/Cg, and DirectX HUD and CUDA User events Experiments User Application CUDA, OpenCL and DirectCompute DirectX10/DirectX11 and OpenGL C/C++ C-CUDA, OpenCL C-99, and HLSL HLSL CPU GPU NVIDIA Corporation, 2010 Native GPU Debugging • Отладка на GPU, без эмуляции • Точное соответствие результатов FPU • GPU останавливается на breakpoint • Исследование различных пространств памяти • Высокая эффективность/скорость отладки NVIDIA Corporation, 2010 Nexus CUDA Debugger • Сериализация запусков kernel’ов • Контроль на уровне Warp’ов и пошаговое исполнение • Visual Studio debugger фокусирование на треде • Поддержка встренных окон Visual Studio – Variables, Watch, Memory, Registers, Modules, Processes, and Threads NVIDIA Corporation, 2010 Nexus CUDA Debugger • Улучшения Nexus Parallel Debugger – Несколько точек останова по данным и на инструкциях – Вычисление выражений «на лету» – CUDA focus picker – Вычисление выражений поддерживает иерархию памяти • CUDA memory (bounds) checker NVIDIA Corporation, 2010 Heterogeneous Computing Example CPU GPU e m i T Initialization DeviceToHost memcpy GPU Memory Patch of 3D Sine function vertices High_frequency_sinusoid glDrawArray(…) NVIDIA Corporation, 2010
Description: