Kernel Mapping to Nodes in Reconfigurable Compute Fabric

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer architectures face limitations in performance and efficiency due to the time and energy required for data movement between processors and memory, constraining compute systems beyond the capabilities of transistor scaling.

Innovation Solution

The implementation of a memory-compute system with a hybrid threading processor and fabric that enables compute-near-memory architecture, allowing processors to be integrated with or near memory components, and using a reconfigurable compute fabric to optimize resource usage and reduce latency through cost-function-based resource mapping and asynchronous data flows.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is moved between processors and memory using conventional bus architecture, then system compatibility and ease of manufacture are maintained, but performance and energy efficiency deteriorate due to significant time and energy requirements

Engineering Contradiction:
Improvecompute performanceVSAvoiddata movement time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system is divided into multiple processing nodes, each with its own local memory, forming a distributed memory-compute system. This segmentation eliminates the single shared memory bottleneck by allowing parallel data processing across multiple independent nodes, thereby reducing data movement time and improving compute performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a centralized memory architecture to a distributed three-dimensional stacking architecture. Memory devices are stacked vertically above processing nodes using 3D integration techniques, creating a new spatial dimension for data access that dramatically reduces data movement distance and time while maintaining system compatibility.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If data is moved between processors and memory using conventional bus architecture, then system simplicity is maintained, but energy efficiency deteriorates due to significant energy consumption

Engineering Contradiction:
Improvecompute efficiencyVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

By segmenting the system into distributed memory-compute nodes, each node processes data locally without requiring energy-intensive data transfers across the bus. This segmentation reduces energy consumption by eliminating redundant data movement while improving compute efficiency through parallel processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mapping layer that optimizes data flow between memory and compute resources. This intermediary intelligence routes data through the most energy-efficient paths in the 3D stacked architecture, reducing overall energy consumption while maintaining high compute efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If processors are integrated near memory components in a memory-compute system, then data access speed is improved, but device complexity increases due to reconfigurable compute fabric and node integration

Engineering Contradiction:
Improvedata access speedVSAvoidsystem architecture complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The processing nodes are designed with universal, reconfigurable compute fabrics that can be dynamically configured for different compute tasks. This multi-functionality allows the same hardware structure to handle various workloads efficiently, reducing the need for specialized complex architectures while maintaining high data access speeds.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system uses software-defined configuration to change operational parameters of the compute fabric dynamically. By adjusting configuration parameters rather than physical architecture, the system achieves high data access speed with manageable complexity through software-controlled adaptability.

Inventive Principle:
Principle #35Parameter changes

4Adaptability or versatility

If reconfigurable compute fabric is used to optimize resource usage, then resource utilization is improved, but mapping complexity increases due to kernel mapping requirements

Engineering Contradiction:
Improveresource optimizationVSAvoidmapping complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements self-service automated mapping mechanisms that dynamically allocate compute resources based on workload characteristics. The mapping complexity is handled automatically by the system's resource management intelligence, allowing high resource optimization without requiring manual mapping complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent incorporates feedback mechanisms that continuously monitor resource utilization and dynamically adjust kernel mappings. This feedback-driven adaptation optimizes resource usage while the automated feedback loop manages mapping complexity, eliminating the need for complex manual mapping configurations.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20250094365A1Kernel mapping to nodes in compute fabric
Publication Date: 2025.03.20 MICRON TECHNOLOGY INC
  • US20250094365A1 patent drawing
  • US20250094365A1 patent drawing
  • US20250094365A1 patent drawing

AI summary

A reconfigurable compute fabric can include multiple nodes, and each node can include multiple tiles with respective processing and storage elements. Compute kernels can be parsed into directed graphs and mapped to particular node or tile resources for execution. In an example, a branch-and-bound search algorithm can be used to perform the mapping. The algorithm can use a cost function to evaluate the resources based on capability, occupancy, or power consumption of the various node or tile resources.