Taichi (太极) is a parallel programming language for high-performance numerical computations. It is 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.9 (64-bit only); Backends: x64 CPUs, CUDA, Apple Metal, Vulkan, OpenGL Compute Shaders.
Nightly releases with the
master branch of
taichi are also available:
pip install -i https://test.pypi.org/simple/ taichi-nightly
Note nightly releases are bleeding edge versions and thus may and will contain bugs. Those releases are primarily aimed for alpha feature testing. If you need a stable version, please refer to the official release above.
Building from source
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, Vulkan and OpenGL Compute Shader backends.
- On Windows, please install Microsoft Visual C++ Redistributable if you haven't.
- [All releases]
We'd love to hear your comments or any of your feedback! If you would like to contribute to Taichi, please check out the Contribution Guidelines first.
Note: contributor avatars above are randomly shuffled.
If you use Taichi in your research, please cite related 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]
- (SIGGRAPH 2021) QuanTaichi: A Compiler for Quantized Simulations [Video] [BibTex] [Code]
- TaichiCon: Taichi developer conferences.
- GAMES 201 Lectures: (Chinese) A hands-on course on building advanced physics engines, based on Taichi.
- TaichiZoo: Running Taichi code in your browser 1.
Please disclose security issues responsibly to email@example.com.