PULP-HD: Accelerating Brain-Inspired High-Dimensional Computing on a Parallel Ultra-Low Power Platform

PULP-HD: Accelerating Brain-Inspired High-Dimensional Computing on a Parallel Ultra-Low Power Platform
复制标题

PULP-HD:在并行超低功耗平台上加速类脑高维计算

DOI:
10.1145/3195970.3196096
复制
发表时间:
2018
期刊:
2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC)
影响因子:
--
通讯作者:
L. Benini
L. Benini
中科院分区:
--
文献类型:
--
作者:
Fabio Montagna;Abbas Rahimi;Simone Benatti;D. Rossi;L. Benini

文献摘要

被引文献

相似文献

使用高维 (HD) 向量(也称为超向量)进行计算是一种受大脑启发的标量计算替代方案。 HD 计算的关键属性包括一组明确定义的超向量算术运算、通用性、可扩展性、鲁棒性、快速学习和普遍的并行运算。高清计算涉及操纵和比较大型模式(具有 10,000 个维度的二进制超向量),这使得在简约的超低功耗平台上高效实现它具有挑战性。本文描述了 HD 计算在 PULPv3 4 核平台(1.5 mm2,2 mW)的硅原型上的加速及其内存访问和操作的优化,超越了最先进的分类精度(平均 92.4%),与单核执行相比,同时实现了 3.7 倍的端到端加速和 2 倍的节能。我们通过增加新一代 PULP 架构的输入数量和分类窗口来进一步探索加速器的可扩展性,该架构具有位操作指令扩展和更多的 8 核数量。与单核 PULPv3 相比,这些共同实现了近乎理想的 18.4 倍加速。
Computing with high-dimensional (HD) vectors, also referred to as hypervectors, is a brain-inspired alternative to computing with scalars. Key properties of HD computing include a well-defined set of arithmetic operations on hypervectors, generality, scalability, robustness, fast learning, and ubiquitous parallel operations. HD computing is about manipulating and comparing large patterns— binary hypervectors with 10,000 dimensions—making its efficient realization on minimalistic ultra-low-power platforms challenging. This paper describes HD computing’s acceleration and its optimization of memory accesses and operations on a silicon prototype of the PULPv3 4-core platform (1.5 mm2, 2 mW), surpassing the state-of-the-art classification accuracy (on average 92.4%) with simultaneous 3.7× end-to-end speed-up and 2× energy saving compared to its single-core execution. We further explore the scalability of our accelerator by increasing the number of inputs and classification window on a new generation of the PULP architecture featuring bit-manipulation instruction extensions and larger number of 8 cores. These together enable a near ideal speed-up of 18.4× compared to the single-core PULPv3.