Cache conscious Walsh-Hadamard transform

The Walsh-Hadamard Transform (WHT) is an important algorithm in signal processing because of its simplicity. However, in computing large size WHT, non-unit stride access results in poor cache performance leading to severe degradation in performance. This poor cache performance is also a critical problem in achieving high performance in other large size signal transforms. We develop a cache friendly technique that improves the performance of large size WHT. In our approach, data reorganization is performed between computation stages to reduce cache pollution. Furthermore, we develop an efficient search algorithm to determine the optimal factorization tree based upon problem size and stride access in the decomposition. Experimental results show that our approach achieves up to 180% performance improvement over the state of the art package on Alpha 21264 and MIPS R10000. In addition, the proposed optimization is applicable to other signal transforms and is portable across various platforms.

[1]  K. R. Rao,et al.  Walsh-Hadamard Transform , 1975 .

[2]  F. MacWilliams,et al.  The Theory of Error-Correcting Codes , 1977 .

[3]  David H. Bailey Unfavorable Strides in Cache Memory Systems (RNR Technical Report RNR-92-015) , 1995, Sci. Program..

[4]  Markus Püschel,et al.  In search of the optimal Walsh-Hadamard transform , 2000, 2000 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No.00CH37100).

[5]  David H. Bailey Unfavorable strides in cache memory systems , 1992 .

[6]  Neil J. A. Sloane,et al.  The theory of error-correcting codes (north-holland , 1977 .

[7]  C. Loan Computational Frameworks for the Fast Fourier Transform , 1992 .

[8]  W. W. Peterson,et al.  Error-Correcting Codes. , 1962 .

[9]  Steven G. Johnson,et al.  FFTW: an adaptive software architecture for the FFT , 1998, Proceedings of the 1998 IEEE International Conference on Acoustics, Speech and Signal Processing, ICASSP '98 (Cat. No.98CH36181).

[10]  B. Sankur,et al.  Applications of Walsh and related functions , 1986 .