Convolutional neural networks (CNNs) are typically trained using 16- or 32-bit floating-point (FP) and researchers show that low-precision floating-point (FP) can be highly effective for inference. Low-precision FP can be implemented in field programmable gate array (FPGA) and application-specific integrated circuit (ASIC) accelerators, but existing processors do not generally support custom precision FP. We propose hardware optimized bitslice-parallel floating-point operators (HOBFLOPS), a method of generating efficient custom-precision emulated bitslice-parallel software FP arithmetic. We generate custom-precision FP routines optimized using a hardware synthesis design flow to create circuits. We provide standard cell libraries matching the bitwise operations on the target microprocessor architecture, and a code-generator to translate the hardware circuits to bitslice software equivalents. We exploit bitslice parallelism to create a very wide (32-512 element) vectorized convolutional neural network (CNN) convolution. Hardware optimized bitslice-parallel floating-point operators (HOBFLOPS) multiply-accumulate (MAC) performance in CNN convolution on Arm and Intel processors are compared to Berkeley's SoftFP16 equivalent MAC. HOBFLOPS16 outperforms SoftFP16 by 8x on Intel AVX512. HOBFLOPS offers arbitrary-precision FP with custom range and precision e.g., HOBFLOPS9 performs at 6x the performance of HOBFLOPS16 on Arm Neon. HOBFLOPS allows researchers to prototype different levels of custom FP precision in the arithmetic of software CNN accelerators. Furthermore, HOBFLOPS fast custom-precision FP CNNs may be valuable in cases where memory bandwidth is limited.
翻译:电流神经网络(CNNs)通常使用16或32比特的浮点(FP)来训练。研究人员显示,低精度浮点(FP)对于推断效果会非常有效。低精度的FP可以在实地可编程门阵列(FPGA)和应用程序专用集成电路加速器(ASIC)中实施,但现有的处理器一般不支持自定义精度FP。我们提议硬件优化比特利差浮点操作者(HOBFLOPS),这是一种生成高效的定制精度模拟比特利差浮点(FPFP)软件(FPFP)中模拟比特差点(FPFP)的低精度浮点浮点(FPFP),(FPFPFS)的低精度定点(FPFP(FC)和FMIFM(FC)的硬度阵列(CNNN)中,FIFS-R(FS-FS-IL)的硬度阵列(FS-FAL-IL),O(IFS-FIL)中,S-FS-IDL)的硬化阵列(ODLL)中,SDLL(O(IL) AS(O(IL) MA(ILL) MA(O) AS) MA(OBRBL) MA(FL)中,O(I(O)的硬化,I(I(IL),ODRDL)中,O(I(IL)中,I(I(O),I) MA(IL) II)的软,IL) OL),O)的软,S) 的软,S,S,S,S,S,S,S,S,S,S,SD,SD,SDRBLL),SD,S,SD,S,S,S,IL,S,S,SD,S,S,S,S,S,S,S,S,S,S,S,SD,S,S,S,S,S,S,S,S,S,S,