Reduction Operation Configuration for Adaptive CGRA Parallelism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing coarse-grained reconfigurable architectures (CGRA) face challenges in optimizing the utilization efficiency of processing elements (PEs) due to variable loop counts in reduction operations, leading to underutilization or overallocation of PEs, which hinders efficient data processing and power consumption.

Innovation Solution

An information processing apparatus and method that generates an operation configuration for reduction operations by using a loop unrolling factor to determine the number of functional units and connection paths, allowing for dynamic adjustment of parallelism based on input data, thereby optimizing PE utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the loop count is made as large as possible within a range allowed by the resource of the CGRA, then the effect of the DFG optimization can be further improved, but there may be many PEs that are not used

Engineering Contradiction:
ImproveDFG optimization effectVSAvoidPE utilization efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies dynamics by making the DFG generation adaptive to the actual loop count. Instead of generating a fixed DFG with maximum loop unrolling, the system dynamically adjusts the DFG structure based on the runtime loop count value. This allows the system to optimize for the actual execution needs rather than the worst-case scenario, improving both productivity and resource utilization efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of loop unrolling factor from a fixed compile-time value to a dynamic value determined at runtime based on the actual loop count. This parameter change enables the system to adjust the degree of parallelism and PE allocation according to the actual computation requirements, resolving the contradiction between optimization effect and resource efficiency.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If too many PEs are reserved for allocating the DFG, then the DFG optimization effect can be improved, but it is difficult to improve the utilization efficiency of the PEs

Engineering Contradiction:
Improveoperation speedVSAvoidPE allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-defining multiple DFG templates with different loop unrolling factors during compilation. At runtime, the system selects and activates only the template that matches the actual loop count, avoiding the need to allocate and manage all possible PEs simultaneously. This reduces device complexity while maintaining the ability to achieve optimal operation speed when needed.

Inventive Principle:
Principle #10Preliminary action

3Speed

If loop unrolling is performed to increase parallelism, then the speed of calculation is increased, but the number of PEs required increases

Engineering Contradiction:
Improvecalculation speedVSAvoidnumber of PEs
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent dynamically changes the loop unrolling factor parameter based on the actual loop count at runtime. When the loop count is small, a smaller unrolling factor is used, requiring fewer PEs. When the loop count is large, a larger unrolling factor is applied to maximize calculation speed. This parameter adaptation resolves the contradiction between speed and PE quantity by matching resource allocation to actual computational needs.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250348330A1Information processing apparatus and information processing method
Publication Date: 2025.11.13 FUJITSU LTD
  • US20250348330A1 patent drawing
  • US20250348330A1 patent drawing
  • US20250348330A1 patent drawing

AI summary

An information processing apparatus that generates an operation configuration including functional units to be used, a connection path between the functional units, and an output path of an operation result, for a reduction operation, based on a plurality of pieces of operation input data including sets of two pieces of data, the information processing apparatus comprising, a memory, and a processor coupled to the memory and configured to, generate an initial operation configuration based on a loop unrolling factor that is a number of the functional units that perform the predetermined operation with the operation input data as a direct input, and generate a first operation configuration by adding an output path of an operation result for a different degree of parallelism in a case where the predetermined operation is repeated with a predetermined degree of parallelism to the generated initial operation configuration.