IP Library › Granted Patent US 12,547,235
Granted Patent B2
US 12,547,235 · App. 17/932,155 · Granted Feb 10, 2026

Dynamic vector lane broadcasting

Inventors: Josip Popovic (Markham, CA); Anshuman Mittal (Santa Clara, CA)
Assignees: Advanced Micro Devices, Inc.; ATI Technologies ULC
G06F1/3237G06F9/4843
View Patent ↗
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 12,547,235
App. No.
17/932,155
Granted
Feb 10, 2026
Kind
B2
Abstract

An apparatus and method for efficient power management of multiple integrated circuits. In various implementations, a computing system includes first partition and a second partition. The second partition includes video pre-processing circuitry that identifies regions of a video frame to be presented on a screen or monitor that don't change or regions that can have one or more of resolution and color accuracy be below a threshold. The first partition includes a parallel data processor with one or more compute units, each with multiple lanes of execution. Based on the identified regions, the first partition generates an execution mask indicating which lanes of the compute units are inactive. The parallel data processor copies result data from the active lanes to outputs of the inactive lanes.

Claims (44)

1 . A processor comprising:

at least one compute unit comprising:

a plurality of lanes, each configured to perform processing associated with a task; and

circuitry configured to:

receive data that includes a first indication of first portions of the task that are to be processed and second portions of the task that are to be skipped;

perform processing using at least one lane identified as active, wherein the first indication is usable to control whether individual lanes of the plurality of lanes are to be active or inactive and cause a fetch of data for active lanes while skipping fetch of data for inactive lanes; and

provide a result from the at least one lane identified as active to at least one inactive lane, wherein the inactive lane receives the result without the second portions of the task having been processed by any of the plurality of lanes.

2 . The processor as recited in claim 1 , wherein the circuitry is further configured to perform power gating for the one or more lanes of the plurality of lanes, based at least in part on the data that includes the first indication.

3 . The processor as recited in claim 1 , wherein the first indication has been generated based at least in part on one or more characteristics of source data of the task.

4 . The processor as recited in claim 1 , wherein the circuitry is further configured to generate the data that includes the first indication as a ratio indicating a number of active lanes to a number of total lanes of the plurality of lanes.

5 . The processor as recited in claim 1 , wherein the circuitry is further configured to:

receive an indication of a power domain from a power controller, wherein the power domain comprises one or more of an operating power supply voltage for the processor and an operating clock frequency for the processor; and

generate the data that includes the first indication, based at least in part on the indication of the power domain.

6 . The processor as recited in claim 1 , wherein the circuitry is further configured to generate the data that includes the first indication based on data items corresponding to pixels of a region of a frame with a resolution or color accuracy below a threshold.

7 . The processor as recited in claim 6 , wherein the circuitry is further configured to generate data that includes a second indication of which portions of the task are to be processed and which portions are to be skipped, wherein the second indication is based at least in part on the first indication.

8 . A method, comprising:

processing tasks, by a parallel data processor comprising at least one compute unit with a plurality of lanes comprising circuitry configured to process a task comprising a plurality of threads;

generating, by the parallel data processor, data that includes a first indication of first portions of the task that are to be processed and second portions of the task that are to be skipped;

processing, by the parallel data processor, the task using at least one lane identified as active, wherein the first indication is usable to control whether individual lanes of the plurality of lanes are to be active or inactive and cause a fetch of data for active lanes while skipping fetch of data for inactive lanes; and

providing, by the parallel data processor, a result from the at least one lane identified as active to at least one inactive lane, wherein the inactive lane receives the result without the second portions of the task having been processed by any of the plurality of lanes.

9 . The method as recited in claim 8 , further comprising performing, by the parallel data processor, power gating for the one or more lanes of the plurality of lanes, based at least in part on the data that includes the first indication.

10 . The method as recited in claim 8 , wherein the first indication has been generated based at least in part on one or more characteristics of source data of the task.

11 . The method as recited in claim 8 , further comprising generating the data that includes the first indication as a ratio indicating a number of active lanes of to a number of total lanes of the plurality of lanes.

12 . The method as recited in claim 8 , further comprising:

receiving, by the parallel data processor, an indication of a power domain from a power controller, wherein the power domain comprises one or more of an operating power supply voltage for the parallel data processor and an operating clock frequency for the parallel data processor; and

generating, by the parallel data processor, the data that includes the first indication based at least in part on the indication of the power domain.

13 . The method as recited in claim 8 , further comprising generating, by the parallel data processor, the data that includes the first indication based on data items of the plurality of threads corresponding to pixels of a region of a frame with a resolution or color accuracy below a threshold.

14 . The method as recited in claim 13 , further comprising generating, by the parallel data processor, data that includes a second indication of which portions of the task are to be processed and which portions are to be skipped, wherein the second indication is based at least in part on the first indication.

15 . A computing system comprising:

a memory configured to store data to be processed during execution of a task;

a parallel data processor comprising:

at least one compute unit with a plurality of lanes comprising circuitry configured to process the task comprising a plurality of threads;

a code generator configured to generate data that includes a first indication of first portions of the task that are to be processed and second portions of the task that are to be skipped; and

circuitry configured to:

receive the data that includes the first indication;

process the task using at least one lane identified as active, wherein the first indication is usable to control whether individual lanes of the plurality of lanes are to be active or inactive and cause a fetch of data for active lanes while skipping fetch of data for inactive lanes; and

provide a result from the at least one lane identified as active to at least one inactive lane, wherein the inactive lane receives the result without the second portions of the task having been processed by any of the plurality of lanes.

16 . The computing system as recited in claim 15 , wherein the circuitry is further configured to perform power gating for the one or more lanes of the plurality of lanes, based at least in part on the data that includes the first indication.

17 . The computing system as recited in claim 15 , wherein the first indication has been generated based at least in part on one or more characteristics of source data of the task.

18 . The computing system as recited in claim 15 , wherein the circuitry is further configured to generate the data that includes the first indication as a ratio indicating a number of active lanes of to a number of total lanes of the plurality of lanes.

19 . The computing system as recited in claim 15 , further comprising a power controller, wherein the code generator is further configured to:

receive an indication of a power domain from the power controller, wherein the power domain comprises one or more of an operating power supply voltage for the parallel data processor and an operating clock frequency for parallel data the processor; and

generate the data that includes the first indication based at least in part on the indication of the power domain.

20 . The computing system as recited in claim 15 , wherein the code generator is further configured to generate the data that includes the first indication based on data items of the plurality of threads corresponding to pixels of a region of a frame with a resolution or color accuracy below a threshold.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2022
From: POPOVIC, JOSIP
To: ATI TECHNOLOGIES ULC
Reel/Frame 061095/0739 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2022
From: MITTAL, ANSHUMAN
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 061095/0826 →
Continuity (1)
Related Publication 20240085970A1 · Mar 14, 2024
References Cited (30)
US 5130786A · Murata et al. · 1992 [cited by applicant]
US 8413151B1 · Stratton · 2013 [cited by examiner]
US 8837006B2 · McDowell et al. · 2014 [cited by applicant]
US 9817466B2 · Sideris · 2017 [cited by examiner]
US 10244245B2 · Rusanovskyy et al. · 2019 [cited by applicant]
US 20090226084A1 · Courchesne et al. · 2009 [cited by applicant]
US 20100295852A1 · Yang · 2010 [cited by examiner]
US 20100312988A1 · Bjorklund · 2010 [cited by examiner]
US 20110047349A1 · Hayashi · 2011 [cited by examiner]
US 20120013627A1 · Shah · 2012 [cited by examiner]
US 20120206461A1 · Wyatt · 2012 [cited by examiner]
US 20140149775A1 · Ware · 2014 [cited by examiner]
US 20150092855A1 · Chou · 2015 [cited by examiner]
US 20150227540A1 · Lin et al. · 2015 [cited by applicant]
US 20150301826A1 · Sideris · 2015 [cited by examiner]
US 20160124905A1 · Lutz · 2016 [cited by examiner]
US 20170168546A1 · Meswani · 2017 [cited by examiner]
US 20180113709A1 · He · 2018 [cited by examiner]
US 20180307971A1 · Sinha · 2018 [cited by examiner]
US 20190042269A1 · Pearce · 2019 [cited by examiner]
US 20190187775A1 · Rotem · 2019 [cited by examiner]
US 20190384613A1 · Petit · 2019 [cited by examiner]
US 20190385247A1 · Raghunathan · 2019 [cited by examiner]
US 20200073662A1 · Rasale · 2020 [cited by examiner]
US 20200233726A1 · Dejanovic · 2020 [cited by examiner]
US 20200234501A1 · Rodriguez · 2020 [cited by examiner]
US 20210349717A1 · Gurram · 2021 [cited by examiner]
US 20230042858A1 · Singh · 2023 [cited by examiner]
WO 9960793A1 · 1999 [cited by applicant]
Chan et al., U.S. Appl. No. 17/562,777, entitled “Color Channel Correlation Detection”, filed Dec. 27, 2021, 32 pages. [cited by applicant]