Nouveau-PerfKit Still Being Worked On, Perf Counter Code Expected For Linux 3.20

For over one year the student developer Samuel Pitoiset has tasked himself with reverse engineering NVIDIA's GPU performance counters with an end goal of coming up with an NVPerfKit-like implementation for Linux that runs off the reverse-engineered Nouveau stack. Samuel has been involved with Google's Summer of Code and has stuck around doing great work for the limited-staffed Nouveau driver.
He made a lot of progress this summer and on the kernel side there should be Nouveau performance counter work for Linux 3.19 -- but during this presentation, it looks like that plan has changed. Samuel gave an overview and update on his performance counter work during this week's XDC2014 conference in Bordeaux, France.
At the end of the day, all 3D global counters on NV50 class hardware has been reverse engineered by him, Fermi support was done during his last year's GSoC, and the Kepler performance counter support was done by Christoph Bumiller. The kernel and Mesa implementations are forthcoming but now look like the code will land with Linux 3.20 rather than Linux 3.19. There's also GL_AMD_performance_monitor OpenGL extension support for Nouveau using these counters. Still left on Samuel's plate is implementing Nouveau-PerfKit as a Gallium3D state tracker for exposing more of the counter offerings to users, reverse-engineering more performance counter signals, and doing other work around performance counters.
Nouveau users interested in learning more about the performance counter work to ultimately help out developers -- those wishing to optimize their GL workloads and also driver developers in seeing how the hardware is responding to their tuning -- can find out more information via Samuel's XDC2014 presentation.
Add A Comment