If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Karsk: Make Finding Software/Driver Optimizations Easier

Phoronix: Karsk: Make Finding Software/Driver Optimizations Easier

When publishing ATI Gallium3D benchmarks this week that compared the performance of the Radeon HD 4870 and Radeon HD 5770 graphics cards with this next-generation driver architecture to the classic open-source Mesa driver and AMD's high-performance proprietary Catalyst driver, the results were what one would mostly expect. The Gallium3D driver was faster than the classic Mesa driver in most tests, but both drivers seriously lagged behind the proprietary driver. Even on older generation ATI Radeon graphics cards this is the case. This though has led many to effectively ask, "what's keeping the open-source drivers from performing like the proprietary driver?" It all comes down to low-level optimizations as is discussed in this Phoronix Forums thread. There are very large development teams for the different Catalyst driver components within AMD and much of this work is shared across all platforms, but on the open-source Linux side there's very few paid full-time developers and just a number of part-time, community developers to cover the entire drier stack.

IAlthough I'm a regular human, and not an advanced re-engineerd breed, I'll do my best :P

PTS is designed to be easily run by humans and non-humans (since it's all automated)

Originally Posted by HokTar

this helps them I will be immediately in.

This module should be. Keep in mind all major hardware vendors use PTS internally already. And as far as graphics driver testing usefulness goes, there's feedback and new thoughts from Matthew Tippett on a daily basis from his vast realm of experience.

PTS is designed to be easily run by humans and non-humans (since it's all automated)

This module should be. Keep in mind all major hardware vendors use PTS internally already. And as far as graphics driver testing usefulness goes, there's feedback and new thoughts from Matthew Tippett on a daily basis from his vast realm of experience.

The two underlying concepts here are effectively a "fitness" function. And what could amount to be "fuzz" testing.

The "fitness" part is can be considered as a way to look at a broader collection of test results and determine via some aggregation what is the "better general" configuration. If you look at a lot of the tests in PTS, they are sensitive to differing parts of the system under test. Being able to find the "best general" case is extremely valuable. Obviously, the best general case may be average in a lot of cases, but that's the art in generating the fitness function. Implementation wise, this would probably be a mixture of a geometric/harmonic/arithmetic mean (depending on the tests), or could be a visualization to allow a human to make the tradeoffs.

The fuzz testing is really generating the results that can feed into the fitness function. Different configuration options, different software components, different build options.

Ultimately, the intent is to allow improvements in the default configuration (the 80% configuration). Whilst also discovering the areas where specialty configurations (the 20%) add most value or need optimization and should serve as areas for investigation for development teams.

Michael, I really like your naming scheme. Just want to inform you that your translation of karsk is wrong, it does not mean quick. Karsk is a word exclusive to the mid-part of Norway (Trøndelag). It refers to the local traditional drink where coffee is mixed with moonshine, no sugar or cream. The moonshine is supposed to be unflavoured and at least 90%. I think the name bodes well for the new test-suite :-)