SpEQ: Translation of Sparse Codes Using Equivalences
Offered By: ACM SIGPLAN via YouTube
Course Description
Overview
Explore a cutting-edge approach to translating sparse codes using equivalences in this 19-minute conference talk from EGRAPHS 2024. Dive into SpEQ, a novel strategy for detecting semantics in sparse codes and enabling automatic translation to high-performance library calls or domain-specific languages. Learn how SpEQ leverages e-graphs for flexible and fast transformations, implemented using the LLVM framework, Z3 solver, and egglog library. Discover how SpEQ correctly translates sparse linear algebra codes into high-performance libraries like NVIDIA cuSPARSE and Intel MKL, as well as OpenMP. Examine the impressive performance gains achieved by SpEQ across ten diverse benchmarks, with geometric mean speedups of 3.25×, 5.09×, and 8.04× on OpenMP, MKL, and cuSPARSE backends, respectively. Understand why SpEQ stands out as the only tool that can guarantee correct translation of sparse computations, making it a significant advancement in the field of code optimization and translation.
Syllabus
[EGRAPHS24] SpEQ: Translation of Sparse Codes using Equivalences
Taught by
ACM SIGPLAN
Related Courses
Unleashing Algebraic Metaprogramming in Julia with Metatheory.jlThe Julia Programming Language via YouTube Gatlab - Combining Computer Algebra and Standard ML Modules
The Julia Programming Language via YouTube E-graphs and Automated Reasoning: Looking Back to Look Forward
ACM SIGPLAN via YouTube Disequalities in E-Graphs: An Experiment
ACM SIGPLAN via YouTube Automated Proof Generation for Associative and Distributive Rewriting with E-Graphs
ACM SIGPLAN via YouTube