The Taichi High-Performance and Differentiable Programming Language for Sparse and Quantized Visual Computing

Using traditional programming languages such as C++ and CUDA, writing high-performance visual computing code is often laborious and requires deep expertise in performance engineering. This implies an undesirable trade-off between performance and productivity. Emerging visual computing workloads such...

Full description

Bibliographic Details
Main Author: Hu, Yuanming
Other Authors: Durand, Frédo
Format: Thesis
Published: Massachusetts Institute of Technology 2022
Online Access:https://hdl.handle.net/1721.1/139327
_version_ 1811095836306702336
author Hu, Yuanming
author2 Durand, Frédo
author_facet Durand, Frédo
Hu, Yuanming
author_sort Hu, Yuanming
collection MIT
description Using traditional programming languages such as C++ and CUDA, writing high-performance visual computing code is often laborious and requires deep expertise in performance engineering. This implies an undesirable trade-off between performance and productivity. Emerging visual computing workloads such as sparse data structure operations, differentiable programming, and quantized computation, lead to further development difficulties with existing programming systems. To address these issues, we propose Taichi, an imperative and parallel programming language, tailored for developing high-performance visual computing systems. Taichi leverages domain-specific features of visual computing tasks, providing first-class abstraction and support for spatially sparse computation, differentiable programming, and quantization. With Taichi’s optimizing compiler that has a high-level understanding of these domain-specific language constructs and automatically optimizes Taichi programs, we achieve performance and productivity simultaneously in various visual computing tasks, especially physical simulation. For example, with Taichi we can easily achieve 4.55× higher performance using 1/10 lines of code on sparse computations, effortlessly develop 10 differentiable physical simulators, and simulate unprecedented 235 million material point method (MPM) particles on a single GPU.
first_indexed 2024-09-23T16:30:16Z
format Thesis
id mit-1721.1/139327
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T16:30:16Z
publishDate 2022
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/1393272022-01-15T03:03:53Z The Taichi High-Performance and Differentiable Programming Language for Sparse and Quantized Visual Computing Hu, Yuanming Durand, Frédo Freeman, William T. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Using traditional programming languages such as C++ and CUDA, writing high-performance visual computing code is often laborious and requires deep expertise in performance engineering. This implies an undesirable trade-off between performance and productivity. Emerging visual computing workloads such as sparse data structure operations, differentiable programming, and quantized computation, lead to further development difficulties with existing programming systems. To address these issues, we propose Taichi, an imperative and parallel programming language, tailored for developing high-performance visual computing systems. Taichi leverages domain-specific features of visual computing tasks, providing first-class abstraction and support for spatially sparse computation, differentiable programming, and quantization. With Taichi’s optimizing compiler that has a high-level understanding of these domain-specific language constructs and automatically optimizes Taichi programs, we achieve performance and productivity simultaneously in various visual computing tasks, especially physical simulation. For example, with Taichi we can easily achieve 4.55× higher performance using 1/10 lines of code on sparse computations, effortlessly develop 10 differentiable physical simulators, and simulate unprecedented 235 million material point method (MPM) particles on a single GPU. Ph.D. 2022-01-14T15:04:18Z 2022-01-14T15:04:18Z 2021-06 2021-06-23T19:37:23.972Z Thesis https://hdl.handle.net/1721.1/139327 In Copyright - Educational Use Permitted Copyright MIT http://rightsstatements.org/page/InC-EDU/1.0/ application/pdf Massachusetts Institute of Technology
spellingShingle Hu, Yuanming
The Taichi High-Performance and Differentiable Programming Language for Sparse and Quantized Visual Computing
title The Taichi High-Performance and Differentiable Programming Language for Sparse and Quantized Visual Computing
title_full The Taichi High-Performance and Differentiable Programming Language for Sparse and Quantized Visual Computing
title_fullStr The Taichi High-Performance and Differentiable Programming Language for Sparse and Quantized Visual Computing
title_full_unstemmed The Taichi High-Performance and Differentiable Programming Language for Sparse and Quantized Visual Computing
title_short The Taichi High-Performance and Differentiable Programming Language for Sparse and Quantized Visual Computing
title_sort taichi high performance and differentiable programming language for sparse and quantized visual computing
url https://hdl.handle.net/1721.1/139327
work_keys_str_mv AT huyuanming thetaichihighperformanceanddifferentiableprogramminglanguageforsparseandquantizedvisualcomputing
AT huyuanming taichihighperformanceanddifferentiableprogramminglanguageforsparseandquantizedvisualcomputing