2016/03/07 by Paul Springer, Jeff R. Hammond, Springer, Paul +3 · 6 citations
Computer Science · Mathematics · #Algorithm #Algorithms and Data Compression #Benchmark (surveying) #Code (set theory) #Compile time #Compiler #Computer science #Discrete mathematics #Distributed #FOS: Computer and information sciences #Heuristics #Loop optimization #Mathematical Software (cs.MS) #Mathematics #Memory bandwidth #Operating system #Optimizing compiler #Parallel #Parallel Computing and Optimization Techniques #Parallel computing #Performance (cs.PF) #Polytope model #Programming language #Pruning #Set (abstract data type) #Tensor (intrinsic definition) #Tensor decomposition and applications #and Cluster Computing (cs.DC) #cs.DC #cs.MS #cs.PF
paper · pdf · doi:10.48550/arxiv.1603.02297
published in RWTH Publications (RWTH Aachen) (RWTH Aachen University)
arxiv created 2016/03/07 · openalex publication_date 2016/03/07 · arxiv updated 2016/03/09 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
We present TTC, an open-source parallel compiler for multidimensional tensor transpositions. In order to generate high-performance C++ code, TTC explores a number of optimizations, including software prefetching, blocking, loop-reordering, and explicit vectorization. To evaluate the performance of multidimensional transpositions across a range of possible use-cases, we also release a benchmark covering arbitrary transpositions of up to six dimensions. Performance results show that the routines generated by TTC achieve close to peak memory bandwidth on both the Intel Haswell and the AMD Steamroller architectures, and yield significant performance gains over modern compilers. By implementing a set of pruning heuristics, TTC allows users to limit the number of potential solutions; this option is especially useful when dealing with high-dimensional tensors, as the search space might become prohibitively large. Experiments indicate that when only 100 potential solutions are considered, the resulting performance is about 99% of that achieved with exhaustive search.