I am running Ubuntu 14.04 with a 280X and I got auto-installed an update of fglrx.
The new version 15.20 replaced 13.355. My kernels have slowed between 15 and 20%.
Any fixes for this? Going back to the old driver?
My apologies for this delayed reply.
Sorry, I'm unable to follow your question. Do you want to report any performance issue or do you want to know how to revert back to the old driver?
Sorry for the delay in answering.
I have a largish code that now includes 16 opencl kernels that do fp64
calculations on a single 280X.
This was developed on an Ubuntu 14.04 and fglrx 13.355. I have
been running this code 24/7 for a few weeks. Then came an Ubuntu
update which included fglrx 15.20 which I allowed to be installed.
On rerunning the code after the update I noticed that the code
was running somewhat slower.
I tested first fgl_glxgears and after several reboots and the machine off
line the frame rate given was now around 2100 but before the update
it was mostly over 2500.
I also used codexl to test two of the kernels that I use. Both of them
were slower by about 20%. The curious thing was that both
kernels were using fewer VGPRs and 1-2 fewer SGPRs which
is definitaly a +. The thing that seems to have increased is MemUnitBusy.
The simpler of these two has been rearranged and it is now running at
the same speed as before the update. The other I cannot meaningfully
I was asking if there are tests or compile flags or something else
I could try. The easiest thing seems to revert to the earlier fglrx.
Thanks for the explaining the issue in detail. I don't think that reverting to an old driver is a good choice. It's always better to have a latest driver on your system.
As you know, without any analysis, it's difficult to say why the performance degradation is. However, I have few suggestions:
1. Use CodeXL for profiling the application and try to compare the profiling data of the new driver with old one (if you've already earlier data). Check whether there is any sudden change that may cause such problem. For example, any runtime API or particular kernel that is taking longer time, a jump in register-usage etc.
2. You may try the latest driver from here Desktop to see whether you get any different observation or not.
3. As you know, newer drivers are OpenCL 2.0 supported. During the clBuildProgram, you may try flag "-cl-std=CL2.0" to see whether building the kernel for OCL 2.0 has any effect on performance. Though this is not a solution, however, I observed such an effect for an issue reported here Re: W8100 is slower in x64 executable - uses more VGPRs and SGPRs .