Overview
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.
Advanced features of Taichi include spatially sparse computing, differentiable programming [examples], and quantized computation.
Please check out our SIGGRAPH 2020 course on Taichi basics: YouTube, Bilibili, slides (pdf).
More...)
Examples (Official releases
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
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).
Note:
- 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]
Contributing
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.
Contributors
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]
Links
- 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.
- 加入太极图形.
- 太极图形课.
- More...
Security
Please disclose security issues responsibly to [email protected].
1. TaichiZoo is still in its Beta version. If you've encountered any issue, please do not hesitate to file a bug.