Streaming Multiprocessor Flush Mechanism for Data Dependency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Highly parallel streaming multiprocessor GPGPUs face challenges in handling data dependencies due to the need for complex hardware to synchronize data flow between independent computation units, increasing cost and complexity.
Innovation Solution
A computational apparatus with an array of streaming multiprocessors shares data via a shared memory and employs a flush mechanism to coordinate data availability, using a signal to indicate task completion and trigger data flushes, ensuring data is available for dependent computations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If snooping techniques or directories are used to monitor and control data flow between streaming multiprocessors, then data dependency coordination is improved, but device complexity and cost increase
Solution Approach 1:
The patent extracts the complex snooping and directory hardware from the GPGPU system and replaces it with a simplified flush mechanism. Instead of having continuous monitoring hardware between multiprocessors, the system uses a flush command that simply writes data to shared memory, removing the need for complex inter-processor monitoring infrastructure while maintaining data dependency coordination.
Solution Approach 2:
The patent introduces shared memory as an intermediary between streaming multiprocessors, replacing direct complex communication paths. The flush mechanism uses this intermediary to coordinate data flow by writing completed data to shared memory, allowing other multiprocessors to access it without requiring complex direct monitoring and control hardware between processors.
2Reliability
If complex hardware is used to synchronize data flow between streaming multiprocessors, then data availability for dependent computations is improved, but manufacturing cost increases
Solution Approach 1:
The patent removes complex synchronization hardware from the system design, extracting only the essential flush command mechanism that writes data to shared memory. This dramatically reduces manufacturing complexity and cost while maintaining the ability to guarantee data availability for dependent computations through simple write operations rather than complex synchronization protocols.
Solution Approach 2:
The patent uses simple, inexpensive flush commands and shared memory writes instead of expensive, complex synchronization hardware. The system accepts that individual flush operations may need to be issued and completed sequentially, trading time for reduced hardware complexity and manufacturing cost, using simple disposable write operations rather than persistent complex synchronization infrastructure.
3Productivity
If streaming multiprocessors operate independently without significant direct communication, then parallel processing performance is improved, but data dependency handling becomes difficult
Solution Approach 1:
The patent uses shared memory as an intermediary that allows independent multiprocessors to communicate data without direct communication paths. The flush mechanism writes to this intermediary, enabling other independent multiprocessors to access the data when needed, maintaining parallel independence while providing a simple mechanism for data dependency coordination through the shared memory intermediary.
Solution Approach 2:
The patent uses preliminary flush actions to prepare data in shared memory before dependent computations are needed. By issuing flush commands to write data to shared memory in advance, the system ensures data availability for subsequent dependent operations without requiring complex real-time coordination or communication between independent multiprocessors.
Data Source
AI summary
An array of streaming multiprocessors shares data via a shared memory. A flushing mechanism is used to guarantee that data required for dependent computations is available in the shared memory.


