HDCC: A Hyperdimensional Computing compiler for classification on embedded systems and high-performance computing

Pere Vergés, Mike Heddes, Igor Nunes, Tony Givargis, Alexandru Nicolau
4/24/2023
cs.LGcs.DC

No confident code implementation found for this paper. 1 possible match can be shown below.

Abstract

Hyperdimensional Computing (HDC) is a bio-inspired computing framework that has gained increasing attention, especially as a more efficient approach to machine learning (ML). This work introduces the \name{} compiler, the first open-source compiler that translates high-level descriptions of HDC classification methods into optimized C code. The code generated by the proposed compiler has three main features for embedded systems and High-Performance Computing: (1) it is self-contained and has no library or platform dependencies; (2) it supports multithreading and single instruction multiple data (SIMD) instructions using C intrinsics; (3) it is optimized for maximum performance and minimal memory usage. \name{} is designed like a modern compiler, featuring an intuitive and descriptive input language, an intermediate representation (IR), and a retargetable backend. This makes \name{} a valuable tool for research and applications exploring HDC for classification tasks on embedded systems and High-Performance Computing. To substantiate these claims, we conducted experiments with HDCC on several of the most popular datasets in the HDC literature. The experiments were run on four different machines, including different hyperparameter configurations, and the results were compared to a popular prototyping library built on PyTorch. The results show a training and inference speedup of up to 132x, averaging 25x across all datasets and machines. Regarding memory usage, using 10240-dimensional hypervectors, the average reduction was 5x, reaching up to 14x. When considering vectors of 64 dimensions, the average reduction was 85x, with a maximum of 158x less memory utilization.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. 1 weaker match is hidden by default — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{vergs2023hdcc,
  title  = {HDCC: A Hyperdimensional Computing compiler for classification on embedded systems and high-performance computing},
  author = {Pere Vergés and Mike Heddes and Igor Nunes and Tony Givargis and Alexandru Nicolau},
  year   = {2023},
  eprint = {2304.12398},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2304.12398v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2304.12398.svg)](https://codeofpaper.com/paper/2304.12398)

Discussion