The Exo Language | Exo is a low-level user-schedulable language designed to help performance engineers write, optimize, and target high-performance computing kernels onto new hardware accelerators.
Exo is a low-level user-schedulable language designed to help performance engineers write, optimize, and target high-performance computing kernels onto new hardware accelerators. Exo is a domain-specific programming language that helps low-level performance engineers transform very simple programs that specify what they want to compute into very complex programs that do the same thing as the specification, only much, much faster. The highest performance hardware made today (such as Google’s TPU, Apple’s Neural Engine, or Nvidia’s Tensor Cores) power key scientific computing and machine learning kernels: the Basic Linear Algebra Subroutines (BLAS) library, for example. However, these new chips—which take hundreds of engineers to design—are only as good (i.e. high performance) for application developers as these kernels allow. Unlike other programming languages and compilers, Exo is built around the concept of exocompilation. Traditionally, compilers are built to automatically optimize p
The Exo Language | Exo is a low-level user-schedulable language designed to help performance engineers write, optimize, and target high-performance computing kernels onto new hardware accelerators. What does Exo do? Exo is a domain-specific programming language that helps low-level performance engineers transform very simple programs that specify what they want to compute into very complex programs that do the same thing as the specification, only much, much faster. Background & Motivation The highest performance hardware made today (such as Google’s TPU, Apple’s Neural Engine, or Nvidia’s Ten
saved by
related reading
- A friendly introduction to machine learning compilers and optimizershuyenchip.com
- How to Optimize a CUDA Matmul Kernel for cuBLAS-like Performance: a Worklogsiboehm.com
- A Tiny Compiler for Data-Parallel Kernelshealeycodes.com
- Tiny TPUtinytpu.com
- Inside NVIDIA GPUs: Anatomy of high performance matmul kernels - Aleksa Gordićaleksagordic.com
- Horace He: Building Machine Learning Systems for a Trillion Trillion Floating Point Operationsyoutube.com
- Modern GPU Programming For MLSys — Modern GPU Programming For MLSysmlc.ai
- KernelBench: Can LLMs Write GPU Kernels?scalingintelligence.stanford.edu
- Spatialspatial-lang.org
- GitHub - adam-maj/tiny-gpu: A minimal GPU design in Verilog to learn how GPUs work from the ground up · GitHubgithub.com
- PiTorch: ML on Baremetal Raspberry Pis | projectsmasonjwang.com
- Modern GPU Programming For MLSys — Modern GPU Programming For MLSysmlc.ai