| Combining analytical and empirical approaches in tuning matrix transposition |
| Full text |
Pdf
(274 KB)
|
| Source
|
PACT
archive
Proceedings of the 15th international conference on Parallel architectures and compilation techniques
table of contents
Seattle, Washington, USA
SESSION: Application-specific optimizations
table of contents
Pages: 233 - 242
Year of Publication: 2006
ISBN:1-59593-264-X
|
|
Authors
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 3, Downloads (12 Months): 37, Citation Count: 0
|
|
|
ABSTRACT
Matrix transposition is an important kernel used in many applications. Even though its optimization has been the subject of many studies, an optimization procedure that targets the characteristics of current processor architectures has not been developed. In this paper, we develop an integrated optimization framework that addresses a number of issues, including tiling for the memory hierarchy, effective handling of memory misalignment, utilizing memory subsystem characteristics, and the exploitation of the parallelism provided by the vector instruction sets in current processors. A judicious combination of analytical and empirical approaches is used to determine the most appropriate optimizations. The absence of problem information until execution time is handled by generating multiple versions of the code - the best version is chosen at runtime, with assistance from minimal-overhead inspectors. The approach highlights aspects of empirical optimization that are important for similar computations with little temporal reuse. Experimental results on PowerPC G5 and Intel Pentium 4 demonstrate the effectiveness of the developed framework.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
 |
2
|
|
 |
3
|
|
| |
4
|
|
| |
5
|
S. Chatterjee and S. Sen. Cache-efficient matrix transposition. In HPCA '00: Proceedings of the Sixth International Symposium on High-Performance Computer Architecture, pages 195--205, 2000.
|
| |
6
|
|
| |
7
|
|
 |
8
|
|
| |
9
|
|
| |
10
|
|
| |
11
|
|
 |
12
|
Alexei Kudriavtsev , Peter Kogge, Generation of permutations for SIMD processors, Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems, June 15-17, 2005, Chicago, Illinois, USA
|
| |
13
|
|
 |
14
|
|
| |
15
|
J. McCalpin. Memory bandwidth and machine balance in current high performance computers. IEEE Computer Society TCCA Newsletter, Dec. 1995.
|
 |
16
|
|
| |
17
|
|
| |
18
|
R. C. Whaley, A. Petitet, and J. J. Dongarra. Automated empirical optimization of software and the ATLAS project. Parallel Computing, 27(1-2):3--35, 2001.
|
| |
19
|
|
| |
20
|
K. Yotov, X. Li, G. Ren, M.J.S.Garzaran, D. Padua, K. Pingali, and P. Stodghill. Is search really necessary to generate high-performance BLAS? Proceedings of the IEEE, 93(2):358--386, 2005.
|
 |
21
|
|
 |
22
|
|
| |
23
|
|
|