Litcius/Paper detail

Compiler Support for Sparse Tensor Computations in MLIR

Aart J. C. Bik, Penporn Koanantakool, Tatiana Shpeisman, Nicolas Vasilache, Bixia Zheng, Fredrik Kjølstad

2022ACM Transactions on Architecture and Code Optimization50 citationsDOIOpen Access PDF

Abstract

Sparse tensors arise in problems in science, engineering, machine learning, and data analytics. Programs that operate on such tensors can exploit sparsity to reduce storage requirements and computational time. Developing and maintaining sparse software by hand, however, is a complex and error-prone task. Therefore, we propose treating sparsity as a property of tensors, not a tedious implementation task, and letting a sparse compiler generate sparse code automatically from a sparsity-agnostic definition of the computation. This article discusses integrating this idea into MLIR.

Topics & Concepts

Computer scienceCompilerExploitComputationTask (project management)Property (philosophy)Sparse matrixTensor (intrinsic definition)SoftwareAnalyticsOptimizing compilerCode (set theory)Theoretical computer scienceParallel computingComputational scienceComputer engineeringProgramming languageData miningSet (abstract data type)ManagementComputer securityEconomicsPhilosophyEpistemologyMathematicsPhysicsPure mathematicsGaussianQuantum mechanicsParallel Computing and Optimization TechniquesTensor decomposition and applicationsNumerical Methods and Algorithms