cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

ryta1203
Journeyman III

Increase GPR usage with new SDK and Driver?

Originally posted by: Curious cat
Originally posted by: ryta1203Have you looked at the ISA and played with moving instructions around?

No. The point being that if the compiler were behaving reasonably, it would reuse all registers employed in block A when doing block B, and again reuse all registers employed in block B when doing block C. Instead, it's spilling registers. If I were a compiler developer, I would want to understand why; it may well be the same problem causing the increased register use in 2.2 vs 2.1.

Well, I agree with you but it's not so what are you going to do?

I'm pretty sure that AMD outsources their compiler (to VizExperts?).. so that could help to explain things.

As far as 10.7 goes, I just installed the 10.7 from AMD.com drivers page. Is there a different that I should be using???

And Jawed, it's not just SKA, the PROFILER (stated previously) reports the exact same high GPR usage that the SKA reports.

0 Likes
Jawed
Adept II

Increase GPR usage with new SDK and Driver?

I linked the new release of 10.7 earlier in this thread. That version of 10.7 is unlikely to match the SKA 1.6 instance of 10.7 because normally there's a lag before a shader compiler gets into SKA.

0 Likes
ryta1203
Journeyman III

Increase GPR usage with new SDK and Driver?

Originally posted by: Jawed I linked the new release of 10.7 earlier in this thread. That version of 10.7 is unlikely to match the SKA 1.6 instance of 10.7 because normally there's a lag before a shader compiler gets into SKA.

I can try the other driver, but I'd expect AMD's driver home page to have the "latest" Catalyst driver, which is where I got the one I'm using just a few days ago (~8/(12/13)).

Also, like I said before, regardless of what the SKA is producing, the RUNTIME PROFILER is reporting the same numbers as the SKA, so unless I have the same catalyst as the SKA...

0 Likes
Jawed
Adept II

Increase GPR usage with new SDK and Driver?

The regular driver page is not the latest driver though. That's why this driver matches SKA.

The latest driver, the one I linked earlier, is the driver linked from the SDK 2.2 download page. See the section called "Tested Drivers (necessary for OpenCL™ GPU support):"

That's why it's called the "Update Driver" and why I described it as such when I linked it.

The filename includes "10.7b".

0 Likes
bpurnomo
Staff
Staff

Increase GPR usage with new SDK and Driver?

SKA 1.6 includes the latest Catalyst 10.7 Update module.

 

0 Likes
ryta1203
Journeyman III

Increase GPR usage with new SDK and Driver?

Originally posted by: bpurnomo SKA 1.6 includes the latest Catalyst 10.7 Update module.

 

Well, that solves that, problem still stands. I'll update to the newest driver though.

0 Likes
Curiouscat
Journeyman III

Increase GPR usage with new SDK and Driver?

Curious cat,

        Could you please post your three kernels here which helps us to see what is going wrong?

No, but I could try creating an example and mail it to you. Will have to wait a few days though (busy). If Mica Villmow still has the code I mailed him back in June when aticaldd was crashing (I don't), it might be enough to use the body of that kernel.

0 Likes
ryta1203
Journeyman III

Increase GPR usage with new SDK and Driver?

Originally posted by: genaganna
Originally posted by: Curious cat
Originally posted by: ryta1203Have you looked at the ISA and played with moving instructions around?

 

 

No. The point being that if the compiler were behaving reasonably, it would reuse all registers employed in block A when doing block B, and again reuse all registers employed in block B when doing block C. Instead, it's spilling registers. If I were a compiler developer, I would want to understand why; it may well be the same problem causing the increased register use in 2.2 vs 2.1.

 

Curious cat,

        Could you please post your three kernels here which helps us to see what is going wrong?

Just take three samples and cascade them.

0 Likes
MicahVillmow
Staff
Staff

Increase GPR usage with new SDK and Driver?

Ryta,
Our compiler stack for OpenCL is developed internally. However, the CAL compiler is fundamentally a graphics compiler, which has different requirements than a general purpose compute compiler. We are still working on fine tuning our stack for compute compiler loads and it looks like there are some cases where our tuning was less than optimal.
0 Likes
ryta1203
Journeyman III

Increase GPR usage with new SDK and Driver?

Originally posted by: MicahVillmow Ryta, Our compiler stack for OpenCL is developed internally. However, the CAL compiler is fundamentally a graphics compiler, which has different requirements than a general purpose compute compiler. We are still working on fine tuning our stack for compute compiler loads and it looks like there are some cases where our tuning was less than optimal.


So you can confirm this (the dramatic increase in register usage)? I just want to know, actually it's not really effecting my work so much, but I am still curious. Thanks.

It would be awful difficult for developers to have to decide which SDK and drivers to use based on which ones perform better for their kernels. A "slight +/-" swing in performance is to be expected but to almost half the performance for some kernels because the register allocation system is broken makes it difficult.

0 Likes