The Convolution Computation Automatic Acceleration
摘要
This paper is dedicated to speed-up of programs that compute convolutions and convolution type code. The automated compiler transformation of programs using floating point math to programs with integer math is considered. This transformation can lead to lower memory usage and speed-up. The application of such a transformation to the calculation of sums, dot products and to programs that calculate convolutions is studied. The application of convolutions to speed-up of the template image search algorithm is considered, performance boost is obtained compared to the known libraries. Automation of optimizing transformations of programs is performed on the basis of the optimizing parallelizing system available to the authors. Numerical experiments are given demonstrating the speed-up of the transformed program relative to the original one. Numerical experiments on the speed-up of the program achieved from transition from floating-point math to integer math are accompanied by estimates of the deviation of the calculation error of the resulting program relative to the original one. Vectorization of the convolution calculation program on the Intel-i7 processor demonstrates a 2-fold acceleration.