AsyncTaichi: Whole-Program Optimizations for Megakernel Sparse Computation and Differentiable Programming

12/15/2020
by   Yuanming Hu, et al.
0

We present a whole-program optimization framework for the Taichi programming language. As an imperative language tailored for sparse and differentiable computation, Taichi's unique computational patterns lead to attractive optimization opportunities that do not present in other compiler or runtime systems. For example, to support iteration over sparse voxel grids, excessive list generation tasks are often inserted. By analyzing sparse computation programs at a higher level, our optimizer is able to remove the majority of unnecessary list generation tasks. To provide maximum programming flexibility, our optimization system conducts on-the-fly optimization of the whole computational graph consisting of Taichi kernels. The optimized Taichi kernels are then just-in-time compiled in parallel, and dispatched to parallel devices such as multithreaded CPU and massively parallel GPUs. Without any code modification on Taichi programs, our new system leads to 3.07 - 3.90× fewer kernel launches and 1.73 - 2.76× speed up on our benchmarks including sparse-grid physical simulation and differentiable programming.

READ FULL TEXT

page 1

page 3

page 5

page 10

research
10/01/2019

DiffTaichi: Differentiable Programming for Physical Simulation

We study the problem of learning and optimizing through physical simulat...
research
07/01/2022

High-Performance GPU-to-CPU Transpilation and Optimization via High-Level Parallel Constructs

While parallelism remains the main source of performance, architectural ...
research
12/19/2021

COX: CUDA on X86 by Exposing Warp-Level Functions to CPUs

As CUDA programs become the de facto program among data parallel applica...
research
05/13/2022

Differentiable programming: Generalization, characterization and limitations of deep learning

In the past years, deep learning models have been successfully applied i...
research
12/03/2021

Differentiable Scripting

In Computational Science, Engineering and Finance (CSEF) scripts typical...
research
02/02/2022

Dr.Jit: A Just-In-Time Compiler for Differentiable Rendering

Dr.Jit is a new just-in-time compiler for physically based rendering and...

Please sign up or login with your details

Forgot password? Click here to reset