Automatic tuning matrix multiplication performance on graphics hardware

32Citations
Citations of this article
29Readers
Mendeley users who have this article in their library.
Get full text

Abstract

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. © 2005 IEEE.

Cite

CITATION STYLE

APA

Jiang, C., & Snir, M. (2005). Automatic tuning matrix multiplication performance on graphics hardware. In Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT (Vol. 2005, pp. 185–194). https://doi.org/10.1109/PACT.2005.10

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free