Joint Hardware-Workload Co-Optimization for In-Memory Computing Accelerators
Authors: Olga Krestinskaya, Mohammed E. Fouda, Ahmed Eltawil, Khaled N. Salama
Organizations: King Abdullah University of Science and Technology (KAUST), Thuwal, Saudi Arabia · Compumacy for Artificial Intelligence Solutions, Cairo, Egypt
Software-hardware co-design is essential for optimizing in-memory computing (IMC) hardware accelerators for neural networks. However, most existing optimization frameworks target a single workload, leading to highly specialized hardware designs that do not generalize well across models and applications. In contrast, practical deployment scenarios require a single IMC platform that can efficiently support multiple neural network workloads. This work presents a joint hardware-workload co-optimization framework based on an optimized evolutionary algorithm for designing generalized IMC accelerator architectures. By explicitly capturing cross-workload trade-offs rather than optimizing for a single model, the proposed approach significantly reduces the performance gap between workload-specific and generalized IMC designs. The framework is evaluated on both RRAM- and SRAM-based IMC architectures, demonstrating strong robustness and adaptability across diverse design scenarios. Compared to baseline methods, the optimized designs achieve energy-delay-area product (EDAP) reductions of up to 76.2% and 95.5% when optimizing across a small set (4 workloads) and a large set (9 workloads), respectively. The source code of the framework is available at https://github.com/OlgaKrestinskaya/JointHardwareWorkloadOptimizationIMC.
Figures & tables
Fig. 1: Research gap and representative state-of-the-art frameworks (including [ 26 , 27 , 28 , 25 , 20 , 35 , 22 , 23 , 24 , 18 , 21 , 19 , 29 , 30 , 31 , 32 , 33 , 34 , 17 ] , which are discussed in detail in Section II ).
Frame- work
Algorithm ∗1
Models tested
Hardware search space size ∗2
Optimization parameters
Work- load
Generalized hardware solution ∗7
D ∗3
C ∗4
A ∗5
S ∗6
NAX ∗8 [ 26 ]
DS
ResNet
4.2×106 (layer-wise)
-
Crossbar size
-
-
single
-
Yang X. et al. [ 25 ]
CF- MESMO
ResNet, VGG
1.35×102
Bits per cell
Crossbar size
-
Frequency, temperature
single
-
Gibbon [ 27 ]
EA
ResNet (modified)
6.4×101
Bits per cell
Crossbar size, ADC/DAC resolution
-
-
single
-
XPert ∗8 [ 28 ]
DS
VGG
4.5×1015 (layer-wise)
-
Column sharing, ADC precision/type
-
-
single
-
CoMN [ 35 ]
BO
ResNet, VGG, MobileNet
2.2×104
-
Crossbar size, number of ADCs, ADC resolution /power/frequency
Crossbars per tile, buffer size /bandwidth, router flit bandwidth
Mapping
single
-
TABLE I: Comparison of the proposed framework with state-of-the-art approaches.
TABLE II: Comparison of optimization methods for discrete hardware design-space exploration. ✓ : well suited, △ : possible with overhead, × : poorly suited.
Algorithm
Global minima
Relative speed
GA
✓
Fastest
ES/ERES
✓
Moderate
PSO
× (local minima)
Fast
G3PCX
× (local minima)
Moderate
CMA-ES
× (no convergence)
Slow
TABLE III: Comparison of evolutionary and genetic-inspired optimization algorithms on a small search space.
Phase
Crossover Pc
Crossover ηc
Mutation Pm
Mutation ηm
Exploration
1.0
3.0
1.0
3.0
Transition
0.9
7.0
0.5
7.0
Convergence
1.0
15.0
0.2
15.0
Fine-tuning
1.0
25.0
0.05
25.0
TABLE IV: Parameters for different search phases.
Fig. 3: EDAP comparison of optimized designs for RRAM-based and SRAM-based IMC hardware, obtained using separate optimization for the largest workload and joint optimization across multiple workloads.
Fig. 4: Improved convergence and EDAP scores of optimized designs achieved using the proposed 4-phase genetic algorithm (GA) with enhanced sampling, compared to the traditional, non-modified GA approach (six independent experiments with RRAM-based hardware for each case).
Case
EDAP ( mJ×ms×mm2 )
Search time
ResNet18
VGG16
AlexNet
MobileNetV3
( hours )
RRAM
All
0.02051
0.88869
0.00324
0.03040
22.79
Max
0.02024
0.96181
0.00320
0.02974
19.89
Mean
0.02040
0.90902
0.00322
0.02753
20.25
SRAM
TABLE V: EDAP per optimized designs and search time for RRAM and SRAM across different aggregation strategies.
Fig. 5: Comparison of optimization strategies for generating generalized architectures across RRAM-based (a-d) and SRAM-based (e-h) experiments using different objective functions. These include separate search, maximum-workload-based optimization, joint search with a non-modified genetic algorithm (GA) [ 44 ] , joint search with enhanced sampling, and joint search using the proposed four-phase GA with optimized sampling (top-5 designs are shown in each experiment with top-1 marked with a star). The goal is to achieve performance that is as close as possible to the individually workload-optimized (separate search) designs, indicating minimal loss in hardware efficiency when transitioning to generalized hardware. The results demonstrate that the proposed algorithm is the most effective among all approaches in the majority of the cases, supporting the selection of optimized designs where the transition to generalized architectures results in the least compromise in hardware performance.
Method
Search / Sampling Time
Total Time
Separate
Up to 0.2 h (RRAM)
8.8 h–14.9 h
Joint (non-modified)
Up to 0.5 h (RRAM)
12.4 h–12.6 h
Joint (proposed)
5.6 h–6.4 h
18 h–19 h
TABLE VI: Runtime comparison on 64 CPU cores for equivalent population size and number of generations.
Fig. 6: Comparison of optimized RRAM- and SRAM-based hardware designs across various objective functions, with energy and latency results shown for the largest workload (VGG16).
Fig. 7: Ablation studies comparing the proposed joint hardware-workload optimization to a sequential hardware stack optimization.
TABLE VII: Cost calculation parameters and voltage range for different technologies.
Fig. 9: Trade-offs between EDAP and fabrication cost and corresponding Pareto front for SRAM-based hardware-workload-technology design optimization.
Fig. 10: Scalability and generalization of the proposed joint hardware-workload co-optimization method across multiple workloads and network types, with a comparison to optimization targeting the maximum workload (i.e., the workload with the largest layer, in the context of weight-swapping SRAM-based IMC).