Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques (2005)
St. Louis, Missouri
Sept. 17, 2005 to Sept. 21, 2005
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/PACT.2005.10
Changhao Jiang , University of Illinois Urbana Champaign
Marc Snir , University of Illinois Urbana Champaign
<p>In order to utilize the tremendous computing power of grpahics hardware and to automatically adapt to the fast and frequent changes in its architecture and performance characteristics, this paper implements an automatic tuning system to generate high-performance matrix-multiplication implementation on graphics hardware. The automatic tuning system uses a parameterized code generator to generate multiple versions of matrix multiplication, whose performances are empirically evaluated by actual execution on the target platform. An ad-hoc search engine is employed to search over the implementation space for the version that yields the best performance. In contrast to similar systems on CPUs, which utilize cache blocking, register tiling, instruction scheduling tuning strategies, this paper identifies and exploits several tuning strategies that are unique for graphics hardware. These tuning strategies include optimizing for multiple-render-targets, SIMD instructions with data packing, overcoming limitations on instruction count and dynamic branch instruction. The generated implementations have comparable performance with expert manually tuned version in spite of the significant overhead incurred due to the use of the high-level BrookGPU language.</p>
M. Snir and C. Jiang, "Automatic Tuning Matrix Multiplication Performance on Graphics Hardware," PACT 2005. 14th International Conference on Parallel Architectures and Compilation Techniques(PACT), St. Louis, MO, USA, 2005, pp. 185-196.