- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
To whom it may concern:
(Maybe this is not the right forum, or it has been asked before ... )
Background: Power saving on CPU / GPU level like on a mobile device is not required for my application.
My application uses the Intel internal GPU as a high performance coprocessor via OpenCL.
The application actually does handover with lowfrequence kernel calls. And the kernels do not last until next call is given.
Hence the GPU gets not enough workload to raise / boost the GPU clock.
So I face that the OpenCL kernels are not running at potential maximum performance.
Question: Is there a decicated call to kickstart the GPU clock boost to reach maximum clock frequency, even while Intel HD GPU is idle ?
The latency to come to max GPU clock would take my application into account.
Then my kernels would reach maximum performance.
By the way: Is this an issue at all for a Intel HD GPU in a workstation with relaxed power saving constrains ?
Otherwise: I think I need to implement a workaround like:
- Let some low prio dummy kernels run all the time on the GPU to keep the clock at maximum
- Send real work to the GPU with high prio
OR
- collect work and send it as burst
- in the meantime send dummy kernels to keep the GPU busy.
Thanks in advance for the answer. Best regards, Stephan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Stephan, Biao,
Currently there is no way to fix the Intel GPU frequency without using internal Intel tools, which are not available to general public. One way to ensure that you get a better frequency ramp up is to use High Performance setting in Control Panel\Hardware and Sound\Power Options. Still, the GPU frequency will oscillate dynamically, though in a smaller range.
The other, as you correctly pointed out, is to "warm up" the GPU with the dummy kernels.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I think it is an interesting point, I am also annoying when I do not have power constrain but to exploit the maximum performance
Intel support engineers, please give a clue how to set a fixed frequency for the i-GPU
Best regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Stephan, Biao,
Currently there is no way to fix the Intel GPU frequency without using internal Intel tools, which are not available to general public. One way to ensure that you get a better frequency ramp up is to use High Performance setting in Control Panel\Hardware and Sound\Power Options. Still, the GPU frequency will oscillate dynamically, though in a smaller range.
The other, as you correctly pointed out, is to "warm up" the GPU with the dummy kernels.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Robert.
Thank you for your answer.
Is there an example how to do establish a high / low prio ordering in an Out of order execution command queue ?
Or is it just as simple as: Two host threads feed the in-order queue. As those clEnqueueNDRangeKernel are blocking, while one is waiting to finsh its kernel the other has the chance to enter the next kernel call ?
And would this also work for an Out of order queue ?
Best regards, Stephan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Stephan,
The only thing I can think of how to implement high/low priority ordering queue is to create your own priority queue object that will wrap out of order command queue. As you receive high priority items, you can enqeueu them immediately. The low priority items you can enqueue with the user event dependency, which you signal via clSetUserEvenStatus once there are no incoming high priority items and all your highpriority enqueues signaled completion.
In order queues execute items in order of submission by definition, so until one clEnqueueNDRangeKernel is complete, the other would not start.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page