C4CAM: A Compiler for CAM-based In-memory Accelerators
Hamid Farzaneh, João Paulo Cardoso de Lima, Mengyuan Li, Asif Ali Khan, Xiaobo Sharon Hu, Jerónimo Castrillón
Abstract
Machine learning and data analytics applications increasingly suffer from the high latency and energy consumption of conventional von Neumann architectures. Recently, several in-memory and near-memory systems have been proposed to remove this von Neumann bottleneck. Platforms based on contentaddressable memories (CAMs) are particularly interesting due to their efficient support for the search-based operations that form the foundation for many applications, including K-nearest neighbors (KNN), high-dimensional computing (HDC), recommender systems, and one-shot learning among others. Today, these platforms are designed by hand and can only be programmed with low-level code, accessible only to hardware experts. In this paper, we introduce C4CAM, the first compiler framework to quickly explore CAM configurations and to seamlessly generate code from high-level TorchScript code. C4CAM employs a hierarchy of abstractions that progressively lowers programs, allowing code transformations at the most suitable abstraction level. Depending on the type and technology, CAM arrays exhibit varying latencies and power profiles. Our framework allows analyzing the impact of such differences in terms of system-level performance and energy consumption, and thus supports designers in selecting appropriate designs for a given application.
Index Terms-Content addressable memories (CAM), compute in memory (CIM), TCAM, MLIR
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 2577d549-c971-44f6-bcc9-2d41bc134707Cited by top-tier papers2
- CINM (Cinnamon): A Compilation Infrastructure for Heterogeneous Compute In-Memory and Compute Near-Memory ParadigmsAsif Ali Khan, Hamid Farzaneh, Karl Friedrich Alexander Friebel, Clément Fournier et al.ASPLOS 2024 · 7 citations
- Be CIM or Be Memory: A Dual-mode-aware DNN Compiler for CIM AcceleratorsShixin Zhao, Yuming Li, Bing Li, Yintao He et al.ASPLOS 2025 · 2 citations
Builds on3
- EDAM: edit distance tolerant approximate matching content addressable memoryRobert Hanhan, Esteban Garzón, Zuher Jahshan, Adam Teman et al.ISCA 2022 · 37 citations
- iMARS: an in-memory-computing architecture for recommendation systemsMengyuan Li, Ann Franchesca Laguna, Dayane Reis, Xunzhao Yin et al.DAC 2022 · 14 citations
- CINM (Cinnamon): A Compilation Infrastructure for Heterogeneous Compute In-Memory and Compute Near-Memory ParadigmsAsif Ali Khan, Hamid Farzaneh, Karl Friedrich Alexander Friebel, Clément Fournier et al.ASPLOS 2024 · 7 citations
Related papers
- CAP: A General Purpose Computation-in-memory with Content Addressable Processing ParadigmZhiheng Yue, Shaojun Wei, Yang Hu, Shouyi YinDAC 2024 · 1 citation
- Efficient Weight Mapping and Resource Scheduling on Crossbar-based Multi-core CIM SystemsHanjie Liu, Sifan Sun, Aifei Zhang, Haiyan Qin et al.DAC 2025 · 1 citation
- CAMPER: Exploring the Potential of Content Addressable Memory for 3D Point Cloud Efficient Range SearchJiapei Zheng, Lizhou Wu, Yutong Su, Jingyi Wang et al.DAC 2024 · 1 citation
- CIM-MLC: A Multi-level Compilation Stack for Computing-In-Memory AcceleratorsSongyun Qu, Shixin Zhao, Bing Li, Yintao He et al.ASPLOS 2024 · 11 citations
- OptiPIM: Optimizing Processing-in-Memory Acceleration Using Integer Linear ProgrammingJiantao Liu, Minxuan Zhou, Yue Pan, Chien-Yi Yang et al.ISCA 2025 · 6 citations
