Hyper Meccano: Acceleration of Hyperdimensional Computing
Hyperdimensional (HD) computing is a brain-inspired non von Neumann machine learning model based on representing information with hypervectors (i.e., random vectors with dimensionality in the thousands). At its very core, HD computing is about manipulating and comparing large patterns using ultra-wide instructions, e.g., 10,000 bits. An HD computing machine automatically generates such wide instructions, applies a set of arithmetic operations on them, and finally performs analogical reasoning. Its arithmetic operations allow a high degree of parallelism by needing to communicate with only a local component or its immediate neighbors. Other operations can be performed in a distributed fashion.
HD computing is a complete and universal computational paradigm that is easily applied to various learning problems. In this project, your goal is to accelerate, optimize, and autotune execution of HD operations on GPGPUs. This will enable application developers to easily explore and choose appropriate hyperparameters for HD computing-based designs.
- Parallel Programming
- Parallel Architectures
- General-purpose GPU (GPGPU)
- 20% Theory
- 50% Parallel Programming
- 30% Verification