Architecture-Aware Currying - Kandemir, Mahmut Taylan; Akbulut, Gulsum Gudukbay; Choi, Wonil; Karakoy, Mustafa (2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT), 2023)
In near-data computing (NDC), computation is brought into data, as opposed to bringing data to computation. While there is prior work focusing on different NDC opportunities, there is no study, to our knowledge, that investigates the importance of "neighborhood" in NDC. This paper explores the neighborhood concept in multithreaded programs that run on on-chip network-based manycore systems. We define the concept of "neighborhood", in terms of on-chip network links, and use it to formulate the NDC problem. We propose a "generic" compiler algorithm, called "architecture-aware currying", that uses the neighborhood concept to implement NDC. So, a core can perform some portions of computation with the nearby data and postpone the remainder of the computation until the remaining data become nearby. It can also perform computations - with nearby data - on behalf of other cores. Our experimental evaluation shows that the proposed compiler algorithm outperforms state-of-the-art data locality optimization strategies.