Overview
Taichi (太极) is a programming language designed for high-performance computer graphics. It is deeply embedded in Python, and its just-in-time compiler offloads compute-intensive tasks to multi-core CPUs and massively parallel GPUs.
Advanced features of Taichi include spatially sparse computing and differentiable programming [examples].
Please check out our SIGGRAPH 2020 course on Taichi basics: YouTube, Bilibili, slides (pdf).
More...)
Examples (Installation
python3 -m pip install taichi
Supported OS: Windows, Linux, Mac OS X; Python: 3.6/3.7/3.8 (64-bit only); Backends: x64 CPUs, CUDA, Apple Metal, OpenGL Compute Shaders.
Please build from source for other configurations (e.g., your CPU is ARM, or you want to try out our experimental C backend).
Note:
- The PyPI package supports x64 CPU, CUDA 10/11, Metal, and OpenGL Compute Shader backends.
- On Ubuntu 19.04+, please
sudo apt install libtinfo5
. - On Windows, please install Microsoft Visual C++ Redistributable if you haven't.
- [All releases]
Linux (CUDA) | OS X (10.14+) | Windows | Documentation | |
---|---|---|---|---|
Build | ||||
PyPI |
Contributors
We welcome feedback and comments. If you would like to contribute to Taichi, please check out our Contributor Guidelines.
If you use Taichi in your research, please cite our papers:
- (SIGGRAPH Asia 2019) Taichi: High-Performance Computation on Sparse Data Structures [Video] [BibTex] [Code]
- (ICLR 2020) DiffTaichi: Differentiable Programming for Physical Simulation [Video] [BibTex] [Code]
Links
- Taichi Conference: Taichi developer conferences.
- GAMES 201 Lectures: (Chinese) A hands-on course on building advanced physics engines, based on Taichi.
- More...