ANDROID DEVELOPER TOOLS TRAINING GTC...
Transcript of ANDROID DEVELOPER TOOLS TRAINING GTC...
![Page 1: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/1.jpg)
ANDROID DEVELOPER TOOLS TRAINING
GTC 2014
Sébastien Dominé, NVIDIA
![Page 2: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/2.jpg)
AGENDA
NVIDIA Developer Tools Introduction
Multi-core CPU tools
Graphics Developer Tools
Compute Developer Tools
![Page 3: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/3.jpg)
Standalone Tools
Performance Monitoring SDK
GPU and CPU Performance and Power Monitoring
GPU Shader and Kernel Debugging and Profiling
Build, Debug and Profile
Tegra
Andro
id D
evelo
per P
ack
Deploy
NVIDIA® Nsight™
IDE integration
Hardware Support
Local and Remote Debugging
NVIDIA Developer Tools
![Page 4: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/4.jpg)
GET STARTED in minutes NOT hours or days
INSTALLS all tools required for Tegra Android
CPU DEBUGGING with Nsight Tegra
GPU DEBUGGING with PerfHUD ES/Tegra Graphics
Debugger
OPTIMIZE applications with Tegra System Profiler
REFERENCE docs, samples & tutorials
OPTIMIZED for Tegra Android development
FLASHES Tegra DevKit with OS Image
CONFIGURED for debugging and profiling
INCLUDES some Kernel symbols and DS-5 support
Tegra Android Development Pack For Windows, OSX, Linux
![Page 5: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/5.jpg)
TEGRA CPU DEVELOPER TOOLS CPU DEBUGGING
Supports Android/Linux standard tools
— Eclipse/NDK/JDK
— Android Studio
— Gdb/gdbserver 7.3.x (Android)
Nsight® Tegra™ Visual Studio Edition
— Gdb/Jdb within Visual Studio
![Page 6: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/6.jpg)
Android Debugging Logcat Filtering Project Management
NVIDIA® NSIGHT™ TEGRA Android NDK/JDK application development
![Page 7: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/7.jpg)
NSIGHT TEGRA 1.5
Microsoft® Visual Studio™ 2013
NDK r9c / Android SDK 22.3
Support for external build systems (makefile)
Improved MSBUILD compatibility with NDK
Improved project/solution loading performance
![Page 8: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/8.jpg)
NVIDIA CONFIDENTIAL
Android GDB debugging in Visual
Studio
Set breakpoints in both Java and
Native (C/C++)
Use the familiar Visual Studio
Locals, Watches, Memory and
Breakpoints windows.
Build Native Android projects in
Visual Studio using vs-android,
ndk-build or makefiles.
![Page 9: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/9.jpg)
TEGRA CPU DEVELOPER TOOLS CPU PROFILING
Supports Android/Linux standard tools
— Systrace/atrace/ftrace
— Perf
L1-dcache|icache-load|store|prefetch{-misses}
l2cache-dr/dw/instr-misses
— Oprofile
ARM DS-5 Gator
Tegra System Profiler
![Page 10: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/10.jpg)
TEGRA SYSTEM PROFILER MULTI-CORE CPU PROFILER FOR ALL TEGRA PLATFORMS
Windows, Linux and OSX host application
Maximize multi-core A15/A9 CPU utilization
Quickly identify CPU “hot spots” and “hot paths”
Quickly identify L1/L2 cache issues
Easily prepare a device for profiling
Easily deploy applications for profiling
![Page 11: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/11.jpg)
WHAT’S NEW WITH TEGRA SYSTEM PROFILER 2.0
Supports Tegra K1 and Tegra Note 7
CPU usage broken down by module
New backtrace options simplify call stack collection
Improved performance and filtering options
Supports Linux and OSX in addition to Windows
![Page 12: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/12.jpg)
NVIDIA CONFIDENTIAL
Identify call chain “hot spots”
Capture multi-core CPU
utilization, L1/L2 cache counters
![Page 13: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/13.jpg)
GRAPHICS DEVELOPER TOOLS Nsight Visual Studio Edition
— Frame Debugging and Profiling
— Shader Debugging and Pixel History
— System trace
Tegra Graphics Debugger
— Frame Debugging and Profiling
— Shader Debugging and Pixel History (v2.0)
PerfKit
— API to sample performance SW and HW counters
![Page 14: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/14.jpg)
NVIDIA® NSIGHT™ HOMOGENEOUS APPLICATION DEVELOPMENT FOR CPU+GPU,
GRAPHICS AND COMPUTE
Graphics Inspector
and Profiler
System Analysis GPU Shader Debugger
Pixel History
![Page 15: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/15.jpg)
Demo
— Basic Frame Debugging, Shader Debugging, Pixel History
— Using FaceWorks
GPU Shader Debugging and Pixel history
Fast frame scrubbing and HUD
![Page 16: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/16.jpg)
TEGRA GRAPHICS DEBUGGER NEXT-GEN GRAPHICS DEVELOPMENT TOOLS FOR TEGRA K1
Supports OpenGL 4.x, OpenGL ES 2.0/3.0/3.1
+ numerous extensions
Monitor key software and hardware performance metrics
Debug draw calls and related states and resources
Live capture of a single rendering frame
Edit and recompile shaders live
Automatic GPU bottleneck analysis
Advanced timings for draw calls and kernel dispatches
![Page 17: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/17.jpg)
Dynamic shader editing
Current target view
Resource revisions
![Page 18: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/18.jpg)
PERFHUD ES 2.2 GRAPHICS DEVELOPMENT TOOLS FOR TEGRA 4 AND PRIOR
Supports OpenGL ES 1.0 and 2.0
Monitor key software and hardware performance metrics
Examine frames to reveal rendering problems
Debug API calls, parameters, return values and errors
Execute directed tests to identify bottlenecks
Edit and apply shaders dynamically at runtime
Monitor CPU and GPU utilization
![Page 19: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/19.jpg)
![Page 20: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/20.jpg)
PERFKIT 3.1 GPU and Software Performance Counter API
— Performance Monitoring
— Automated bottleneck analysis
— Graphics and Compute
Supports Kepler Architecture and higher on Android
Available on Windows (upcoming Linux and Android/Logan)
NVIDIA GPU
NVPMAPI
Standard NVIDIA Driver
Application
PerfKit Samples
OpenGL
http://www.nvidia.com/object/nvperfkit_home.html
Nsight VSE / Tegra Graphics Profiler
OpenGL|ES Direct3D
![Page 21: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/21.jpg)
COMPUTE DEVELOPER TOOLS
Nsight Eclipse Edition
— Integrated CUDA development environment for Linux and MAC
Nsight Visual Studio Edition
— Integrated CUDA development environment for Windows
CUDA 6.0 Toolkit command line tools for Android
RenderScript Tegra K1 acceleration / No developer tools
![Page 22: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/22.jpg)
NVIDIA® NSIGHT™
HOMOGENEOUS APPLICATION DEVELOPMENT FOR CPU+GPU COMPUTE PLATFORMS
BUILD, DEBUG AND PROFILE ON REMOTE TARGETS WITH CUDA 6.0
CUDA-Aware Editor CUDA Debugger
CPU+GPU
CUDA Profiler
![Page 23: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/23.jpg)
CUDA 6.0 STANDALONE TOOLS
CUDA-GDB
• Command line CUDA debugging
• Debug CPU and GPU code
NVPROF
• Generates execution summary
• Gather Performance events and metrics
VISUAL PROFILER
• Trace CUDA activities
• Kernel Profiler
• Performance instrumentation with
source code correlation
• Guided Expert Analysis
CUDA-MEMCHECK
• Out of bounds memory access detection
• Detects Race Condition
![Page 24: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/24.jpg)
CONCLUSION Full TEGRA K1 support
Full OpenGL 4.x and ES 2.0/3.0/3.1
Full support for Renderscript and CUDA 6.0
Advanced Visual Studio integration
Advanced CPU profiling
Consistent user experience from PC to Tegra Android devices
Many years of discreet PC GPU developer tools experience leverage to provide a smooth user experience!
![Page 25: ANDROID DEVELOPER TOOLS TRAINING GTC 2014on-demand.gputechconf.com/.../S4825-tegra-k1-dev-tools-for-android.… · Android GDB debugging in Visual Studio Set breakpoints in both Java](https://reader030.fdocuments.us/reader030/viewer/2022021511/5ac1c3eb7f8b9aca388d6c2a/html5/thumbnails/25.jpg)
FINDING MORE INFORMATION… https://developer.nvidia.com/tegra-development
https://devtalk.nvidia.com/
Developer Tools