HPVM-HDC: A Heterogeneous Programming System for Accelerating Hyperdimensional Computing
Russel Arbore, Xavier Routh, Abdul Rafae Noor, Akash Kothari, Haichao Yang, Weihong Xu, Sumukh Pinge, Minxuan Zhou, Tajana Rosing, and Vikram Adve

TL;DR
This paper introduces HPVM-HDC, a programming system with a new language and compiler that simplifies developing and optimizing hyperdimensional computing applications across diverse hardware platforms, including CPUs, GPUs, and accelerators.
Contribution
It presents HDC++, a unified programming language, and HPVM-HDC, a compiler that supports multiple hardware targets, enabling productive and portable HDC application development.
Findings
Achieves 1.17x speed-up over CUDA implementations.
Reduces total lines of code by 1.6x.
Enables execution on HDC-specific accelerators.
Abstract
Hyperdimensional Computing (HDC), a technique inspired by cognitive models of computation, has been proposed as an efficient and robust alternative basis for machine learning. HDC programs are often manually written in low-level and target specific languages targeting CPUs, GPUs, and FPGAs -- these codes cannot be easily retargeted onto HDC-specific accelerators. No previous programming system enables productive development of HDC programs and generates efficient code for several hardware targets. We propose a heterogeneous programming system for HDC: a novel programming language, HDC++, for writing applications using a unified programming model, including HDC-specific primitives to improve programmability, and a heterogeneous compiler, HPVM-HDC, that provides an intermediate representation for compiling HDC programs to many hardware targets. We implement two tuning optimizations,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques
