Abstract
Code transformations to optimize the performance work well where a very precise data dependence analysis can be done at compile time. However, current compilers usually do not optimize irregular codes, because they contain input dependent and/or dynamic memory access patterns. This paper presents how we can adapt two representative loop transformations, tiling and unrolling, to codes with irregular computations, obtaining a significant performance improvement over the original non-transformed code. Experiments of our proposals are conducted on three different hardware platforms. A very known sparse kernel code is used as an example code to show performance improvements.
Chapter PDF
References
Carr, S., Mckinley, K.S., Tseng, C.: Compiler Optimizations for Improving Data Locality. In: 6th International Conference on Architectural Support for Programming Languages and Operating Systems, San Jose, CA (October 1994)
Kandemir, M., Ramanujam, J.: Data Relaton Vectors: A New Abstraction for Data Optimizations. IEEE Transactions on Computers 50(8) (August 2001)
O’Boyle, M., Knijnenburg, P.: Integrating Loop and Data Transformations for Global Optimizations. In: IEEE International Conference on Parallel Architectures and Compilation Techniques, Paris, France (October 1998)
Rivera, G., Tseng, C.-W.: Data Transformations for Eliminating Conflict Misses. In: ACM SIGPLAN Conference on Programming Language Design and Implementation, Montreal, Canada (June 1998)
Wolfe, M.: High Performance Compilers for Parallel Computing. Addison–Wesley Pub., Redwood City (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Herruzo, E., Bandera, G., Plata, O. (2004). Applying Loop Tiling and Unrolling to a Sparse Kernel Code. In: Bubak, M., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds) Computational Science - ICCS 2004. ICCS 2004. Lecture Notes in Computer Science, vol 3036. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24685-5_53
Download citation
DOI: https://doi.org/10.1007/978-3-540-24685-5_53
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22114-2
Online ISBN: 978-3-540-24685-5
eBook Packages: Springer Book Archive