DOE OSTI · 1013930
Practical Loop Transformations for Tensor Contraction Expressions on Multi-Level Memory Hierarchies
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 has 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 tensor contraction expressions, we show that fusion at multiple levels improves performance, and our framework is effective in determining protable transformations.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Ma, Wenjing, Krishnamoorthy, Sriram, Agrawal, Gagan. 2011-04-01. Practical Loop Transformations for Tensor Contraction Expressions on Multi-Level Memory Hierarchies. https://doi.org/10.1007/978-3-642-19861-8_15
Cite the original work for its findings. Save a collection to share your selection of sources.