Architecture-Aware Currying

Mahmut Taylan Kandemir, Gulsum Gudukbay Akbulut, Wonil Choi, Mustafa Karakoy

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

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.

Original languageEnglish (US)
Title of host publicationProceedings - 2023 32nd International Conference on Parallel Architecture and Compilation Techniques, PACT 2023
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages250-264
Number of pages15
ISBN (Electronic)9798350342543
DOIs
StatePublished - 2023
Event32nd International Conference on Parallel Architecture and Compilation Techniques, PACT 2023 - Vienna, Austria
Duration: Oct 21 2023Oct 25 2023

Publication series

NameParallel Architectures and Compilation Techniques - Conference Proceedings, PACT
ISSN (Print)1089-795X

Conference

Conference32nd International Conference on Parallel Architecture and Compilation Techniques, PACT 2023
Country/TerritoryAustria
CityVienna
Period10/21/2310/25/23

All Science Journal Classification (ASJC) codes

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture

Cite this