In-Memory Computation Advantage Score Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In-memory computation is challenging due to heterogeneous software, with some portions being well-suited and others poorly suited for in-memory computation, and existing methods struggle to efficiently execute computing tasks between extra-memory processing circuits and function in memory circuits.
Innovation Solution
A system and method that calculates an advantage score to determine whether a computing task is more efficiently executed by extra-memory processing circuits or function in memory circuits, with tasks scoring above a threshold being compiled and executed by function in memory circuits, which includes instructions and data formatting for efficient execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If computing tasks are executed by extra-memory processing circuits, then software compatibility is maintained, but memory access bottlenecks cause performance degradation
Solution Approach 1:
The system segments computing tasks into two categories: those suitable for in-memory execution and those requiring extra-memory processing. An advantage score calculator evaluates each task and routes it to the appropriate execution environment, enabling parallel processing paths that eliminate memory access bottlenecks for suitable tasks while maintaining compatibility for others
Solution Approach 2:
The patent introduces an intermediary advantage score calculation mechanism that acts as a mediator between extra-memory processing circuits and function in memory circuits. This intermediary evaluates task characteristics and determines the optimal execution path, effectively bridging the gap between heterogeneous software requirements and diverse processing capabilities
2Productivity
If in-memory computation is implemented, then memory access bottlenecks are reduced, but heterogeneous software creates execution challenges
Solution Approach 1:
The system dynamically adapts its execution strategy based on task characteristics. The advantage score calculator continuously evaluates computing tasks and adjusts the execution path in real-time, allowing the system to be both efficient for in-memory tasks and compatible for extra-memory tasks without requiring static configuration
Solution Approach 2:
The patent changes the parameter of task routing from a static configuration to a dynamic parameter based on advantage score evaluation. By calculating metrics such as FLOPs per byte and cache hit rates, the system transforms fixed software compatibility constraints into flexible, data-driven execution decisions that optimize for both efficiency and compatibility
3Productivity
If tasks are routed to function in memory circuits, then computational efficiency improves, but task suitability assessment complexity increases
Solution Approach 1:
The patent replaces complex manual task evaluation mechanics with an automated advantage score calculation system. By substituting manual assessment with algorithmic evaluation based on measurable metrics (FLOPs per byte, cache hit rates), the system reduces evaluation complexity while maintaining accurate task routing decisions
Data Source
AI summary
A method for computing. In some embodiments, the method includes: calculating an advantage score of a first computing task, the advantage score being a measure of an extent to which a plurality of function in memory circuits is capable of executing the first computing task more efficiently by than one or more extra-memory processing circuits, the first computing task including instructions and data; in response to determining that the advantage score of the first computing task is less than a first threshold, executing the first computing task by the one or more extra-memory processing circuits; and in response to determining that the first computing task is at least equal to the first threshold: compiling the instructions for execution by the function in memory circuits; formatting the data for the function in memory circuits; and executing the first computing task, by the function in memory circuits.


