NVIDIA Performance Counters Continue To Be Reverse-Engineered

Written by Michael Larabel in Nouveau on 18 May 2014 at 06:30 PM EDT. 9 Comments
NOUVEAU
Last year Samuel Pitoiset took up a Google Summer of Code project for reverse-engineering NVIDIA's hardware performance counters on their GPUs so they could be supported by the Nouveau driver and exposed under Linux. After making much progress last year and sticking around the Nouveau camp after his summer term, Pitoiset is again working more on NVIDIA performance counters for Nouveau this year via another GSoC project.

Samuel Pitoiset is working more this summer on reverse-engineering the performance counters found on modern GPUs and with that is working towards exposing the counters to user-space via the Nouveau Gallium3D driver. Samuel says, "The main goal of this project is to help Linux developpers in identifying the performance bottleneck of OpenGL applications. At the end of this GSoC, NVIDIA’s GPU graphics counter for GeForce 8, 9 and 2XX (nv50/tesla) will (almost-all) be exposed for Nouveau. Some counters won’t be available until the compute support (ie. the ability to launch kernels) for nv50 is not implemented."

The student open-source developer has already been working on new reverse-engineering support in the past few weeks and almost has complete documentation and understanding for the performance counters, including the start of RE'ing the Fermi counters. The NV50 and NVC0 work-in-progress documentation can be found via this Git repository.

You can learn more about Samuel's work via his personal blog. His next challenge will be coming up with the Linux kernel ioctls for exposing the performance counter information.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week