Litcius/Paper detail

Efficient Direct Convolution Using Long SIMD Instructions

Alexandre Santana, Adrià Armejach, Marc Casas

202312 citationsDOIOpen Access PDF

Abstract

This paper demonstrates that state-of-the-art proposals to compute convolutions on architectures with CPUs supporting SIMD instructions deliver poor performance for long SIMD lengths due to frequent cache conflict misses. We first discuss how to adapt the state-of-the-art SIMD direct convolution to architectures using long SIMD instructions and analyze the implications of increasing the SIMD length on the algorithm formulation. Next, we propose two new algorithmic approaches: the Bounded Direct Convolution (BDC), which adapts the amount of computation exposed to mitigate cache misses, and the Multi-Block Direct Convolution (MBDC), which redefines the activation memory layout to improve the memory access pattern. We evaluate BDC, MBDC, the state-of-the-art technique, and a proprietary library on an architecture featuring CPUs with 16,384-bit SIMD registers using ResNet convolutions. Our results show that BDC and MBDC achieve respective speed-ups of 1.44× and 1.28× compared to the state-of-the-art technique for ResNet-101, and 1.83× and 1.63× compared to the proprietary library.

Topics & Concepts

SIMDComputer scienceParallel computingConvolution (computer science)CacheBlock (permutation group theory)ComputationState (computer science)AlgorithmMathematicsArtificial intelligenceArtificial neural networkGeometryAdvanced Neural Network ApplicationsParallel Computing and Optimization TechniquesAdvanced Memory and Neural Computing
Efficient Direct Convolution Using Long SIMD Instructions | Litcius