Samuel Pitoiset - Nouveau: Expose NVIDIA's performance counters to the userspace for nv50/Tesla

A hardware performance counter is a set of special registers which are used to store the counts of hardware-related activities. Hardware counters are often used by developers to identify performance bottlenecks in their applications. There are two types of counters offered by NVIDIA which provide data directly from various points of the GPU. Compute counters are used for OpenCL, while graphics counters give detailed information for OpenGL/Direct3D. It took me two Google Summer of Code (GSoC) to manage to expose them in Nouveau. In this presentation, I will first sum up my GSoC 2013 where I reverse engineered and implemented compute counters for nvc0/fermi in mesa. Then, I will introduce my GSOC2014's work to design a kernel interface to expose compute- and graphics-related counters to the userspace (mesa).

Slides Video