IP Library › Granted Patent US 12,105,653
Granted Patent B2
US 12,105,653 · App. 18/190,242 · Granted Oct 1, 2024

Systems, methods, and apparatus to enable data aggregation and adaptation in hardware acceleration subsystems

Inventors: Niraj Nandan (Plano, TX); Rajasekhar Reddy Allu (Plano, TX); Brian Chae (Duluth, GA); Mihir Mody (Karnataka, IN)
Assignee: TEXAS INSTRUMENTS INCORPORATED
G06F13/28G06F9/4881G06F13/1673G06F13/4027G06F2213/0038
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,105,653
App. No.
18/190,242
Granted
Oct 1, 2024
Kind
B2
Abstract

Methods, apparatus, systems, and articles of manufacture are disclosed herein to enable data aggregation and pattern adaptation in hardware acceleration subsystems. In some examples, a hardware acceleration subsystem includes a first scheduler, a first hardware accelerator coupled to the first scheduler to process at least a first data element and a second data element, and a first load store engine coupled to the first hardware accelerator, the first load store engine configured to communicate with the first scheduler at a superblock level by sending a done signal to the first scheduler in response to determining that a block count is equal to a first BPR value and aggregate the first data element and the second data element based on the first BPR value to generate a first aggregated data element.

Claims (50)

1. A circuit device comprising:

a memory;

a first hardware accelerator coupled to the memory and configured to:

process a set of data to produce a set of data elements; and

cause the set of data elements to be stored in the memory;

a second hardware accelerator coupled to the memory;

a load store circuit coupled between the first hardware accelerator and the memory and configured to:

determine whether a count of elements in the set of data elements meets an aggregation threshold; and

based on the count of elements meeting the aggregation threshold, cause the second hardware accelerator to process the set of data elements.

2. The circuit device of claim 1 further comprising a scheduler circuit coupled to the first hardware accelerator and the second hardware accelerator, wherein the load store circuit is configured to cause the second hardware accelerator to process the set of data elements by causing a done signal to be provided to the scheduler circuit.

3. The circuit device of claim 1 , wherein the load store circuit is configured to, based on the count of elements meeting the aggregation threshold, aggregate the set of data elements into an aggregated data element.

4. The circuit device of claim 3 , wherein the load store circuit is configured to cause the set of data elements to be stored in the memory as the aggregated data element.

5. The circuit device of claim 1 further comprising a memory-mapped register configured to store the aggregation threshold.

6. The circuit device of claim 1 , wherein the set of data is a set of image data, and each data element of the set of data elements is a two-dimensional block of image data.

7. The circuit device of claim 1 , wherein:

the set of elements is a first set of elements and is associated with a first channel;

the aggregation threshold is a first aggregation threshold and is associated with the first channel;

the first hardware accelerator is configured to:

produce a second set of data elements that is associated with a second channel; and

cause the second set of data elements to be stored in the memory;

the load store circuit is further configured to:

determine whether a count of elements in the second set of data elements meets a second aggregation threshold that is associated with the second channel and is different from the first aggregation threshold; and

based on the count of elements in the second set of data meeting the second aggregation threshold, cause the second hardware accelerator to process the second set of data elements.

8. The circuit device of claim 7 , wherein the first channel is a chroma channel, and the second channel is a luma channel.

9. The circuit device of claim 1 , wherein each data element of the set of data elements has a size from a group consisting of: 16×16 bytes, 32×32 bytes, and 64×32 bytes.

10. A circuit device comprising:

a first memory;

a direct memory access (DMA) circuit coupled to the first memory and configured to couple to a second memory;

a hardware accelerator coupled to the first memory and configured to:

perform an operation on a set of data to produce a set of data elements; and

cause the set of data elements to be stored in the first memory;

a load store circuit coupled between the hardware accelerator and the first memory and configured to:

determine whether a count of elements in the set of data elements meets an aggregation threshold; and

based on the count of elements meeting the aggregation threshold, cause the DMA circuit to cause the set of data elements to be stored in the second memory.

11. The circuit device of claim 10 further comprising a scheduler circuit coupled to the DMA circuit and to the hardware accelerator, wherein the load store circuit is configured to cause the DMA circuit to cause the set of data elements to be stored in the second memory by causing a done signal to be provided to the scheduler circuit.

12. The circuit device of claim 10 , wherein the load store circuit is configured to, based on the count of elements meeting the aggregation threshold, aggregate the set of data elements into an aggregated data element.

13. The circuit device of claim 12 , wherein the load store circuit is configured to cause the set of data elements to be stored in the first memory as the aggregated data element.

14. A method comprising:

processing, using a first processing circuit, first and second sets of data to produce first and second sets of data elements associated with first and second channels, respectively;

storing the first and second sets of data elements in a memory;

determining whether a count of elements of the first set of data elements meets a first aggregation threshold associated with the first channel;

determining whether a count of elements of the second set of data elements meets a second aggregation threshold associated with the second channel;

based on the count of elements of the first set of data elements meeting the first aggregation threshold, processing the first set of data elements using a second processing circuit; and

based on the count of elements of the second set of data elements meeting the second aggregation threshold, processing the second set of data elements using the second processing circuit.

15. The method of claim 14 further comprising, based on the count of elements of the set of data elements meeting the aggregation threshold, providing a done signal to a scheduler circuit, wherein the processing of the set of data elements using the second processing circuit is further based on the done signal.

16. The method of claim 14 further comprising based on the count of elements of the set of data elements meeting the aggregation threshold, aggregating the set of data elements in the memory to produce an aggregated data element.

17. The method of claim 14 , wherein the set of data is a set of image data, and each data element of the set of data elements is a two-dimensional block of image data.

18. The method of claim 14 , wherein the first and second aggregation thresholds are different.

19. The method of claim 18 , wherein the first channel is a chroma channel, and the second channel is a luma channel.

20. The method of claim 14 , wherein each data element of the set of data elements has a size from a group consisting of: 16×16 bytes, 32×32 bytes, and 64×32 bytes.

Continuity (3)
Continuation 17139970 · Dec 31, 2020
Provisional Application 62956383 · Jan 2, 2020
Related Publication 20230229610A1 · Jul 20, 2023