“…A large body of prior work examines Processing-Near-Memory (PNM) [3, 4, 8, 9, 16, 30-32, 39, 47, 52, 57, 66, 68, 76-78, 81, 89, 90, 101, 102, 109, 110, 112, 126, 129, 130, 144, 151, 166, 167, 176, 177, 179-181, 191, 194, 199, 206, 212, 223, 224, 232, 240, 269, 271, 280, 281]. PNM integrates processing units near or inside the memory via a 3D PNM configuration (i.e., processing units are located at the logic layer of 3D-stacked memories) [3, 30-32, 47, 57, 76, 166, 180, 181, 206, 269, 271, 281], a 2.5D PNM configuration (i.e., processing units are located in the same package as the CPU connected via silicon interposers) [68,81,223], a 2D PNM configuration (i.e., processing units are placed inside DDRX DIMMs) [9,16,44,89,90,126,143,147,148,179,185,199,212,282], or at the memory controller of CPU systems [101,102,167]. These works propose hardware designs for irregular applications like graph processing [3,4,31,32,52,180,281], bioinformatics [39,81,130,147,148], neural networks [29,30,48,68,78,89,129,…”