Affiliation:
1. Universidade da Coruña, Spain
2. University of Illinois at Urbana-Champaign, USA
3. LIP, Ecole Normale Supérieure de Lyon, France
Abstract
In an intelligent memory architecture, the main memory of a computer is enhanced with many simple processors. The result is a highly-parallel, heterogeneous machine that is able to exploit computation in the main memory. While several instantiations of this architecture have been proposed, the question of how to effectively program them with little effort has remained a major challenge.In this paper, we show how to effectively hand-program an intelligent memory architecture at a high level and with very modest effort. We use FlexRAM as a prototype architecture. To program it, we propose a family of
high-level compiler directives
inspired by OpenMP called
CFlex
. Such directives enable the processors in memory to execute the program in cooperation with the main processor. In addition, we propose libraries of highly-optimized functions called
Intelligent Memory Operations (IMOs)
. These functions program the processors in memory through CFlex, but make them completely transparent to the programmer. Simulation results show that, with CFlex and IMOs, a server with 64 simple processors in memory runs on average 10 times faster than a conventional server. Moreover, a set of conventional programs with 240 lines on average are transformed into CFlex parallel form with only 7 CFlex directives and 2 additional statements on average.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
13 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. MVC: Enabling Fully Coherent Multi-Data-Views through the Memory Hierarchy with Processing in Memory;56th Annual IEEE/ACM International Symposium on Microarchitecture;2023-10-28
2. CHOPPER: A Compiler Infrastructure for Programmable Bit-serial SIMD Processing Using Memory in DRAM;2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA);2023-02
3. Multi-Layer In-Memory Processing;2022 55th IEEE/ACM International Symposium on Microarchitecture (MICRO);2022-10
4. To PIM or not for emerging general purpose processing in DDR memory systems;Proceedings of the 49th Annual International Symposium on Computer Architecture;2022-06-11
5. PIMS;Proceedings of the International Symposium on Memory Systems;2019-09-30