In this session we explore how to analyze and optimize the performance of kernels running on the GPU. Working with a real-world example, we will walk through an analysis-driven process leading to a series of kernel-level optimizations, using NVIDIA's profiling tools as an example. Attendees will learn about the fundamental performance limiters-instruction throughput, memory throughput, and latency and we will present strategies to identify and tackle each type of limiter. This session is accompanied by Session S7445, which considers performance optimization at application level.
In this session we explore how to analyze and optimize the performance of GPU-accelerated applications. Working with a real-world example, attendees will learn how to analyze application performance by measuring data transfers, unified memory page migrations, inter-GPU communication, and performing critical path analysis. Using the example application, and using NVIDIA's profiling tools as an example tool set, we will walk through various optimizations and discuss their impact on the performance of the whole application. This session is accompanied by Session S7444, which considers performance optimization of GPU kernels.
We'll present a real CUDA application and use NVIDIA Nsight Visual Studio Edition on Windows to optimize the performance of the code. Attendees will learn a method to analyze their codes and how to use the tools to apply those ideas.