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).
Examples (More...)
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 |
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]
- Taichi Conference: Taichi developer conferences.
- GAMES 201 Lectures: (Chinese) A hands-on course on building advanced physics engines, based on Taichi.
- More...