HDTorch: an accelerator for HyperDimensional Computing

HyperDimensional computing is increasingly used for machine learning applications. Computing with HD vectors, referred to as “hypervectors,” offers a general and scalable model of computing as well as a well-defined set of arithmetic operations that can enable fast and one-shot learning (no need of back-propagation like in neural networks).

HDTorch is a PyTorch-based hyperdimensional (HD) computing library for HD learning. It includes custom CUDA extensions for speeding up hypervector operations, namely, bit-(un)packing and bit-array summation in the horizontal/vertical dimensions.

In the paper HDTorch: Accelerating Hyperdimensional Computing with GP-GPUs for Design Space Exploration (ICCAD 2022), ESL researchers demonstrate HDTorch’s utility by analyzing four HDC benchmark datasets in terms of accuracy, runtime, and memory consumption, utilizing both classical and online HD training methodologies.

Read more