FFT compiler techniques

被引:0
|
作者
Kral, S [1 ]
Franchetti, F [1 ]
Lorenz, J [1 ]
Ueberhuber, CW [1 ]
Wurzinger, P [1 ]
机构
[1] Vienna Univ Technol, Inst Anal & Sci Comp, A-1040 Vienna, Austria
来源
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper presents compiler technology that targets general purpose microprocessors augmented with SIMD execution units for exploiting data level parallelism. Numerical applications are accelerated by automatically vectorizing blocks of straight line code to be run on processors featuring two-way short vector SIMD extensions like Intel's SSE 2 on Pentium 4, SSE 3 on Intel Prescott, AMD's 3DNow!, and IBM's SIMD operations implemented on the new processors of the BlueGene/L supercomputer. The paper introduces a special compiler backend for Intel P4's SSE 2 and AMD's 3DNow! which is able (i) to exploit particular properties of FFT code, (ii) to generate optimized address computation, and (iii) to perform specialized register allocation and instruction scheduling. Experiments show that the automatic SIMD vectorization techniques of this paper enable performance of hand optimized code for key benchmarks. The newly developed methods have been integrated into the codelet generator of FFTW and successfully vectorized complicated code like real-to-halfcomplex non-power of two FFT kernels. The floating-point performance of FFTW's scalar version has been more than doubled, resulting in the fastest FFT implementation to date.
引用
收藏
页码:217 / 231
页数:15
相关论文
共 50 条
  • [1] FFT compiler: From math to efficient hardware
    Milder, Peter A.
    Franchetti, Franz
    Hoe, James C.
    Pueschel, Markus
    [J]. 2007 IEEE INTERNATIONAL HIGH LEVEL DESIGN VALIDATION AND TEST WORKSHOP, PROCEEDINGS, 2007, : 137 - 139
  • [2] FFT and Sparse FFT techniques and applications
    Mohapatra, Badri Narayan
    Mohapatra, Rashmita Kumari
    [J]. 2017 FOURTEENTH INTERNATIONAL CONFERENCE ON WIRELESS AND OPTICAL COMMUNICATIONS NETWORKS (WOCN), 2017,
  • [3] COMPILER OPTIMIZATION TECHNIQUES
    INSELBERG, A
    MAZOR, S
    [J]. COMPUTER DESIGN, 1981, 20 (11): : 245 - &
  • [4] PARALLELIZING COMPILER TECHNIQUES
    MCCONNELL, R
    [J]. MICROPROCESSING AND MICROPROGRAMMING, 1993, 38 (1-5): : 419 - 420
  • [5] A study of compiler techniques for multiple targets in compiler infrastructures
    Dai, GL
    Zhang, SQ
    Tian, JL
    Jiang, WD
    [J]. ACM SIGPLAN NOTICES, 2002, 37 (06) : 45 - 51
  • [6] Compiler techniques for the superthreaded architectures
    Tsai, JY
    Jiang, ZZ
    Yew, PC
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 1999, 27 (01) : 1 - 19
  • [7] COMPILER TECHNIQUES AVAILABLE IN 1954
    NUTT, R
    [J]. ANNALS OF THE HISTORY OF COMPUTING, 1984, 6 (01): : 20 - 22
  • [8] Compiler techniques for code compaction
    Debray, SK
    Evans, W
    Muth, R
    De Sutter, B
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2000, 22 (02): : 378 - 415
  • [9] Visual language implementation through standard compiler-compiler techniques
    Costagliola, Gennaro
    Deufemia, Vincenzo
    Polese, Giuseppe
    [J]. JOURNAL OF VISUAL LANGUAGES AND COMPUTING, 2007, 18 (02): : 165 - 226
  • [10] Applying compiler techniques to diagram recognition
    Blostein, D
    Cordy, J
    Zanibbi, R
    [J]. 16TH INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION, VOL III, PROCEEDINGS, 2002, : 123 - 126