cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

Raistmer
Adept II

Catalyst 15.4 Beta driver for Windows (1642.5 (VM) OCL part) has considerably increased CPU usage

Though this driver solves bug described here:

Kernel with local memory usage gives different results on some hardware

it introduced another issue - almost 2-fold increase in CPU consumption for my app.

It was shown that CPU consumption can be considerable decreased using Sleep() calls in some places inside app. But such  strategy leads to wast increase in elapsed time (and lowers GPU usage of course).

That is, most probably in this driver new synching added (that solves prev bugs) but this synching implemented as CPU busy-wait loops that show themselves when app calls any or some blocking OpenCL functions. If delay from kernel/memory transfer enqueue and blocking call artifically added (as Sleep(1) call does, for example) that busy-wait loop lasts much shorter and CPU time consumption decreases.

The question are:

1) is AMD driver team aware of CPU consumption that their current approach to inner synchronization incurs?

2) can we hope that this CPU overhead will be reduced in release driver version?

3) What recommended ways to reduce this CPU overhead on application level? (besides one I already experimentally found. This one leades to GPU performance degradation, especially for top crds).

0 Likes
2 Replies
dipak
Big Boss

That is, most probably in this driver new synching added (that solves prev bugs) but this synching implemented as CPU busy-wait loops that show themselves when app calls any or some blocking OpenCL functions.

Not sure whether your assumption is right or not. If so, may be someone from the driver team may help to answer those questions. I'll check and get back to you.

BTW, its nice to hear that your problem has been resolved. Thanks for the confirmation.

Regards,

0 Likes

Yes, it's only assumption but based on some measures between different versions of driver.

Would be good to get some info regarding that CPU time increase from driver team.

And especially useful would be to get some hints how to avoid it. Our applications use both CPU and GPU for computations so we can't sacrifice CPU performance w/o losses.

0 Likes