spl 100107093247-phpapp01
TRANSCRIPT
読んだ人: みよしたけふみ
CITED BY 242010年1月8日金曜日
Introduction• Signal Processing Language[8]
• to automate the implementation and optimization of signal processing algorithms
• The SPL compiler is a component of the SPIRAL system[13]
• searches through algorithm and implementation choices
• a template mechanism
• SPL is a descendent of the TPL[1]
• SPL programs are essentially mathematical formulas describing matrix factorizations
• Translating SPL into a program to compute the matrix-vector product of the matrix given by the SPL expression
2010年1月8日金曜日
the SPIRAL System
2010年1月8日金曜日
Contents
• INTRODUCTION
• SPL, MATRIX FACTORIZATIONS, AND FAST SIGNAL TRANSFORMS
• THE COMPILER
• EXPERIMENTS
• RELATED WORK
• CONCLUSION
2010年1月8日金曜日
Fast Signal Transformsこれをとにかく高速に計算したい
ex. 4-point DFT
2010年1月8日金曜日
Fast Signal Transforms
Step (1) is a stride permutation that can be performed in n operations.Step (2) computes two FFTs of size ~.Step (3) is the product of a diagonal matrix with a vector and therefore requires n operations. Step (4) requires 2 operations per row.
Cooley-Tukey FFT Algorithm
2010年1月8日金曜日
The SPL Language
2010年1月8日金曜日
SPL Language
2010年1月8日金曜日
The SPL Compiler
• Parsing
• Intermediate Code Generation
• Intermediate Code Restructuring
• Loop Unrolling
• Intrinsic function evaluation
• Type Transformation
• Compiler Optimization
• Target Code Generation
2010年1月8日金曜日
ExperimentsSmall Size FFTs
For a given FFT size, the number of operations generatedby the compiler is fixed, and the performance dependsexclusively on factors such as register allocation, memoryaccess pattern, and instruction scheduling.
2010年1月8日金曜日
ExperimentsLarge Size FFTs
used the best program resulting from the previous searchunder the assumption that a good formula for small sizeFFTs also could be a good sub-formula for larger size FFTs.It is possible we could have missed the actual best formulabut following this approach significantly reduced the searchspace and made the search for large-size FFTs possible;
メソッドとして 'estimate' を設定した場合、FFTW ライブラリは、ランタイムチューニングを使用せずに、アルゴリズムを選択します。そのため、選択されたアルゴリズムが最適ではない可能性もあります。
2010年1月8日金曜日
Experments
2010年1月8日金曜日
Experiments
2010年1月8日金曜日
RELATED WORK
• FFTW[5, 6]
• Walsh-Hadmard transform(WHT)[11]
• EXTENT[3]
• BLAS @ATLAS proj.[18]
• PHiPAC[2]
• Kisuki & Knijnenberg[12] - “iterative compilation”
2010年1月8日金曜日