Practical loop transformations for tensor contraction expressions on multi-level memory hierarchies

5Citations
Citations of this article
7Readers
Mendeley users who have this article in their library.

Abstract

Modern architectures are characterized by deeper levels of memory hierarchy, often explicitly addressable. Optimizing applications for such architectures requires careful management of the data movement across all these levels. In this paper, we focus on the problem of mapping tensor contractions to memory hierarchies with more than two levels, specifically addressing placement of memory allocation and data movement statements, choice of loop fusions, and tile size selection. Existing algorithms to find an integrated solution to this problem even for two-level memory hierarchies have been shown to be expensive. We improve upon this work by focusing on the first-order cost components, simplifying the analysis required and reducing the number of candidates to be evaluated. We have evaluated our framework on a cluster of GPUs. Using five candidate tensor contraction expressions, we show that fusion at multiple levels improves performance, and our framework is effective in determining profitable transformations. © 2011 Springer-Verlag.

Cite

CITATION STYLE

APA

Ma, W., Krishnamoorthy, S., & Agrawal, G. (2011). Practical loop transformations for tensor contraction expressions on multi-level memory hierarchies. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 6601 LNCS, pp. 266–285). https://doi.org/10.1007/978-3-642-19861-8_15

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