IP Library Patent Application 19386917
Patent Application
App. No. 19/386,917

CLOCK GATING AND CLOCK SCALING BASED ON RUNTIME APPLICATION TASK GRAPH INFORMATION

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
19/386,917
Abstract

An apparatus to facilitate clock gating and clock scaling based on runtime application task graph information is disclosed. The apparatus includes a processor to: receive, from a compiler, a bitstream generated from code of an application, the bitstream related to a workload of the application; generate a task graph of the application using at least part of the bitstream, the task graph to represent one of a relationship and dependency of the code; program the bitstream to an accelerator device, wherein the bitstream to configure the accelerator device to support the workload of the application; execute one or more kernels of the code using the accelerator device; identify one or more optimizations for the accelerator device based on the task graph of the application; and transmit a command to cause the one or more optimizations to be implemented in the at least one region of the accelerator device.

Claims (37)

1 . A system comprising:

an accelerator device; and

one or more processors to:

generate a task graph of an application, the task graph to represent one of a relationship or dependency of the application;

program a bitstream to the accelerator device, wherein the bitstream to configure the accelerator device to support a workload of the application;

execute one or more kernels of the application using the accelerator device;

identify one or more optimizations for the accelerator device based on the task graph of the application; and

transmit a command to cause the one or more optimizations to be implemented in the accelerator device.

2 . The system of claim 1 , further comprising storage for a compiler wherein the compiler comprises a data parallel programming compiler.

3 . The system of claim 1 , wherein the one or more optimizations comprise at least one of clock gating or clock scaling of the accelerator device.

4 . The system of claim 1 , wherein each region of the accelerator device is to execute one kernel of the one or more kernels.

5 . The system of claim 1 , wherein the one or more optimizations are further based on at least one of predicted runtime metrics generated by a compiler or collected runtime metrics generated by the accelerator device when executing the one or more kernels.

6 . The system of claim 5 , wherein the one or more optimizations are adaptively tuned based on the collected runtime metrics generated by the accelerator device.

7 . The system of claim 1 , wherein different regions of the accelerator device receive different clock optimizations.

8 . The system of claim 1 , wherein more than one optimization can be implemented at a sub-kernel level of the accelerator device.

9 . The system of claim 1 , wherein the accelerator device comprises at least one a graphic processing unit (GPU), a central processing unit (CPU), or a programmable integrated circuit (IC).

10 . The system of claim 9 , wherein the programmable IC comprises at least one of a field programmable gate array (FPGA), a programmable array logic (PAL), a programmable logic array (PLA), a field programmable logic array (FPLA), an electrically programmable logic device (EPLD), an electrically erasable programmable logic device (EEPLD), a logic cell array (LCA), or a complex programmable logic devices (CPLD).

11 . A method comprising:

generating a task graph of an application, the task graph to represent one of a relationship or dependency of the application;

programming a bitstream to an accelerator device, wherein the bitstream to configure the accelerator device to support a workload of the application;

executing one or more kernels of the application using the accelerator device;

identifying one or more optimizations for the accelerator device based on the task graph of the application; and

transmitting a command to cause the one or more optimizations to be implemented in the accelerator device.

12 . The method of claim 11 , wherein the one or more optimizations comprise at least one of clock gating or clock scaling of the accelerator device.

13 . The method of claim 11 , wherein each region of accelerator device is to execute one kernel of the one or more kernels.

14 . The method of claim 11 , wherein the one or more optimizations are further based on at least one of predicted runtime metrics generated by a compiler or collected runtime metrics generated by the accelerator device when executing the one or more kernels.

15 . The method of claim 11 , wherein different regions of the accelerator device receive different clock optimizations.

16 . A non-transitory machine readable storage medium comprising instructions that, when executed, cause at least one processor to at least:

generate a task graph of an application, the task graph to represent one of a relationship or dependency of the application;

program a bitstream to an accelerator device, wherein the bitstream to configure the accelerator device to support a workload of the application;

execute one or more kernels of the application using the accelerator device;

identify one or more optimizations for the accelerator device based on the task graph of the application; and

transmit a command to cause the one or more optimizations to be implemented in the accelerator device.

17 . The non-transitory machine readable storage medium of claim 16 , wherein the one or more optimizations comprise at least one of clock gating or clock scaling of the accelerator device.

18 . The non-transitory machine readable storage medium of claim 16 , wherein each region of the accelerator device is to execute one kernel of the one or more kernels.

19 . The non-transitory machine readable storage medium of claim 16 , wherein the one or more optimizations are further based on at least one of predicted runtime metrics generated by a compiler or collected runtime metrics generated by the accelerator device when executing the one or more kernels.

20 . The non-transitory machine readable storage medium of claim 16 , wherein different regions of the accelerator device receive different clock optimization.

Assignments (1)
SECURITY INTEREST Recorded Jun 2, 2026
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 074820/0828 →