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.
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).
- 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|
- Taichi Conference: Taichi developer conferences.
- GAMES 201 Lectures: (Chinese) A hands-on tutorial on building advanced physics engines, based on Taichi.
- Gitee mirror of Taichi: For the convenience of Chinese contributors, clone from the mirror repo hosted on Gitee (码云).
- Taichi THREE: A 3D rendering library based on Taichi.
- Taichi GLSL: A Taichi extension library that provides a set of GLSL-style helper functions.
- Taichi Elements: A high-performance multi-material continuum physics engine based on Taichi (work in progress).
- Taichi Blend: Taichi Blender intergration for physics-based animations (work in progress)
- TaichiMD: Interactive, GPU-accelerated Molecular (& Macroscopic) Dynamics using Taichi, by Andrew Sun (victoriacity).
- LBM Taichi: A fluid solver based on the Lattice Boltzmann Method (LBM) using Taichi, by Zhuo Wang (hietwll).
- Shadertoy in Taichi: Some shadertoy examples implemented in Taichi, by Qiu Feng (Phonicavi).
- DiffTaichi: 10 differentiable physical simulators built with Taichi differentiable programming, by Yuanming Hu (yuanming-hu).
The Taichi project was created by Yuanming Hu (yuanming-hu). Significant contributions are made by:
- Ye Kuang (k-ye) (Apple Metal backend)
- 彭于斌 (archibate) (OpenGL Compute Shader backend)
- Mingkuan Xu (xumingkuan) (IR optimization & standardization)
The Simplified Chinese documentation (简体中文文档) was created by Ark (StephenArk30). Significant contributions are made by:
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: