Accelerating Binarized Neural Networks via Bit-Tensor-Cores in Turing GPUs
This work addresses performance bottlenecks for researchers and practitioners using BNNs on GPUs, representing an incremental improvement by optimizing new hardware features.
The paper tackled the problem of low GPU utilization in binarized neural networks (BNNs) by leveraging bit-tensor-cores in Turing GPUs, achieving a 77% speedup over state-of-the-art methods with a processing rate of 5.6K images per second on ImageNet using ResNet-18.
Despite foreseeing tremendous speedups over conventional deep neural networks, the performance advantage of binarized neural networks (BNNs) has merely been showcased on general-purpose processors such as CPUs and GPUs. In fact, due to being unable to leverage bit-level-parallelism with a word-based architecture, GPUs have been criticized for extremely low utilization (1%) when executing BNNs. Consequently, the latest tensorcores in NVIDIA Turing GPUs start to experimentally support bit computation. In this work, we look into this brand new bit computation capability and characterize its unique features. We show that the stride of memory access can significantly affect performance delivery and a data-format co-design is highly desired to support the tensorcores for achieving superior performance than existing software solutions without tensorcores. We realize the tensorcore-accelerated BNN design, particularly the major functions for fully-connect and convolution layers -- bit matrix multiplication and bit convolution. Evaluations on two NVIDIA Turing GPUs show that, with ResNet-18, our BTC-BNN design can process ImageNet at a rate of 5.6K images per second, 77% faster than state-of-the-art. Our BNN approach is released on https://github.com/pnnl/TCBNN.