Message Generation Circuit Local Storage Data Fetching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current graphics processing systems face inefficiencies in conveying data to slave accelerators within graphics processors, particularly due to the need for repeated data fetching and potential mismatches in data order between fetching and sending processes.
Innovation Solution
Incorporating a message generation circuit with local storage within the execution unit to fetch and store data values for inclusion in messages, allowing for efficient data conveyance to slave accelerators, even when the fetching rate exceeds inclusion rate and order mismatch occurs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is fetched repeatedly from remote storage for slave accelerator operations, then data availability is ensured, but data conveyance efficiency deteriorates due to repeated fetching overhead
Solution Approach 1:
The message generation circuit includes local storage that pre-fetches and stores operand data values before they are needed for slave accelerator operations. This preliminary action eliminates the need for repeated remote storage fetching during message construction, as data is already available in local storage when messages need to be sent to slave accelerators.
Solution Approach 2:
The message generation circuit with its local storage acts as an intermediary between the remote storage system and the slave accelerators. It captures data values from remote storage once, stores them locally, and then efficiently retrieves them multiple times for message construction without requiring repeated remote storage access, thus mediating the data flow to improve efficiency while maintaining availability.
2Ease of manufacture
If data is fetched in a fixed order from storage, then data fetching is simplified, but flexibility deteriorates when data order mismatch occurs between fetching and sending requirements
Solution Approach 1:
The message generation circuit with local storage serves as an intermediary buffer that decouples the fixed-order data fetching from the flexible-order data sending requirements. Data can be fetched in a simple fixed order and stored in the local storage, then retrieved in the specific order required for constructing messages to slave accelerators, thus providing ordering flexibility without complicating the fetching process.
Solution Approach 2:
The local storage in the message generation circuit adds a temporal dimension to data handling, allowing data to be fetched at one time (in fixed order) and then accessed at different times (in flexible order) as needed for message construction. This separates the fetching operation from the sending operation in time, enabling independent optimization of each.
Data Source
AI summary
A processor comprises an execution unit operable to execute programs to perform processing operations, and one or more slave accelerators each operable to perform respective processing operations under the control of the execution unit. The execution unit includes a message generation circuit that generates messages to cause a slave accelerator to perform a processing operation. The message generation circuit fetches data values for including in a message or messages to be sent to a slave accelerator into local storage of the message generation circuit pending the inclusion of those data values in a message that is sent to a slave accelerator, and retrieves the data value or values from the local storage, and sends a message including the retrieved data value or values to the slave accelerator.


