C4CAM: A Compiler for CAM-based In-memory Accelerators

Research output: Contribution to book/conference proceedings/anthology/reportConference contributionContributedpeer-review

Contributors

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 overcome this von Neumann bottleneck. Platforms based on content-addressable 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 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.

Details

Original languageEnglish
Title of host publicationInternational Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS
PublisherAssociation for Computing Machinery
Pages164-177
Number of pages14
ISBN (electronic)9798400703867
Publication statusPublished - 27 Apr 2024
Peer-reviewedYes

Publication series

SeriesInternational Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS
Volume3

Conference

Title29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2024
Duration27 April - 1 May 2024
CitySan Diego
CountryUnited States of America

External IDs

ORCID /0000-0002-5007-445X/work/160049113
Mendeley 15df5a75-283c-379a-9580-cbad257e74aa

Keywords