NV50 Global Performance Counters For Nouveau
Samuel Pitoiset has continued reverse-engineering NVIDIA's hardware performance counters and implementing them for use under Linux by the open-source Nouveau driver. His latest "RFC" patches are for exposing the NV50 global performance counters.
Samuel Pitoiset has been focusing on this performance counter work for quite a while and on Monday posted eight new patches. His announcement explains, "This series exposes NVIDIA's global performance counters for Tesla through the Gallium's HUD and the GL_AMD_performance_monitor extension. This adds support for 24 hardware events which have been reverse engineered with PerfKit (Windows) and CUPTI (Linux). These hardware events will allow developers to profile OpenGL applications. To reduce latency and to improve accuracy, these global performance counters are tied to the command stream of the GPU using a set of software methods instead of ioctls. Results are then written by the kernel to a mapped notifier buffer object that allows the userspace to read back them."
This work depends on updated Mesa code and libdrm with the DRM kernel driver code being squared away. Patches will follow this NV50 support for exposing global performance counters on NVIDIA Fermi and Kepler graphics processors.
Samuel Pitoiset has been focusing on this performance counter work for quite a while and on Monday posted eight new patches. His announcement explains, "This series exposes NVIDIA's global performance counters for Tesla through the Gallium's HUD and the GL_AMD_performance_monitor extension. This adds support for 24 hardware events which have been reverse engineered with PerfKit (Windows) and CUPTI (Linux). These hardware events will allow developers to profile OpenGL applications. To reduce latency and to improve accuracy, these global performance counters are tied to the command stream of the GPU using a set of software methods instead of ioctls. Results are then written by the kernel to a mapped notifier buffer object that allows the userspace to read back them."
This work depends on updated Mesa code and libdrm with the DRM kernel driver code being squared away. Patches will follow this NV50 support for exposing global performance counters on NVIDIA Fermi and Kepler graphics processors.
4 Comments