Recently, HyperDimensional Computing (HDC) has emerged as an alternative Machine Learning (ML) framework to more traditional models such as random forests or neural networks, where its novel data representation strategy enables various advantages from both hardware and software perspectives. The highly parallel nature of HDC algorithms lends motivation to the development of specific HDC hardware accelerators. While such accelerators will certainly be implemented in future products that rely on HD computing, they are expensive and limited in algorithmic flexibility, a necessity for research into the HDC design space. Therefore, open-source, flexible GPU-accelerated HDC frameworks are necessary to enable efficient HDC research.
In this context, we propose HDTorch, the first open-source, PyTorch-based library built for exploring the HDC paradigm. HDTorch unlocks the full potential of PyTorch applied to HDC algorithms, and further extends PyTorch with custom, CUDA-backed hypervector operations. HDTorch is highly customizable, enabling modification to hyperparameters and encoding/similarity strategies. HDTorch accelerates classical/online HD training by 111x/68x and inference by 87x.
Usage of HDTorch:
HDTorch can be installed via pip or downloaded from its github page.
HDTorch documentation is available on its readthedocs page.
|HDTorch: Accelerating Hyperdimensional Computing with GP-GPUs for Design Space Exploration
|Simon, William Andrew; Pale, Una; Teijeiro, Tomas; Atienza, David
|Proceedings of the 41st IEEE/ACM International Conference on Computer-Aided Design
|Exact Neural Networks from Inexact Multipliers via Fibonacci Weight Encoding
|Simon, William Andrew; Rey, Valérian; Levisse, Alexandre Sébastien Julien; Ansaloni, Giovanni; Zapater Sancho, Marina; Atienza Alonso, David
|2021 58th ACM/IEEE Design Automation Conference (DAC)