Finding OpenGL Driver Bottlenecks With OProfile + PTS

Written by Michael Larabel in Mesa on 20 May 2014 at 01:23 PM EDT. 9 Comments
MESA
A new initiative is underway by a Mesa developer to pair the OProfile system profiler with the Phoronix Test Suite for more easily finding OpenGL driver bottlenecks, etc.

Timothy Arceri, the open-source developer that got involved with Mesa driver development via crowd-funding work on Mesa OpenGL extensions multiple times, has done some other interesting work outside of his crowd-funding campaigns. Over the past few days, Arceri has been playing around integrating an OProfile module for the Phoronix Test Suite.

The developer expressed an idea of "it would be great if profiling was built into the Phoronix Test Suite that way you could analyse the outputs of both tools to do things like look at what was executing when the frame-rates dropped and what percentage of time was spent in those code paths at that point in time."

After some guidance within the forums, he ended up writing an oprofile module to the Phoronix Test Suite for automatically running the open-source system profiler while running our benchmarks. As with any Phoronix Test Suite module, it works universally across all available tests hosted by OpenBenchmarking.org and not dependent upon any test profile hacking or other modifications. Thus this work is not only of relevance to OpenGL driver developers but to any other developers wishing to more closely profile their workloads during benchmarking.

Timothy has already announced his oprofile module to Mesa developers for possible use in trying to find bottlenecks within the OpenGL driver for future areas for optimization. Right now his code is within a separate Git repository but as soon as the code is in good shape I will be merging it into the upstream Phoronix Test Suite -- hopefully in time for the Phoronix Test Suite 5.2-Khanino release scheduled to happen in early June!

This automated system profiling paired with the Phoronix Test Suite is similar to the work I've toyed with in the past via the "Karsk" module for automated profiling with the Phoronix Test Suite -- four years ago playing around with the Sysprof profiler.

Have any other feature requests for the Phoronix Test Suite? Contributions are welcome via Phoronix-Test-Suite on GitHub. Sponsorship, custom engineering engagements, and other commercial support for our cross-platform, open-source benchmarking software is available by contacting Phoronix Media.
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