Taichi is a domain-specific language embedded in Python that helps you easily write portable, high-performance parallel programs.
$ pip install taichi -U
$ ti gallery
What’s possible with Taichi
Speed up Python
Taichi translates the compute-intensive Python code into fast machine code at runtime with a just-in-time compiler, accelerating your Python code.
Create an urban airflow simulation using 3D Lattice Boltzmann Method, with spatially sparse data structures provided by Taichi.
A GPU path tracing voxel renderer made by Taichi! You can easily create inspiring voxel art using this renderer within 99 lines of Taichi code.
Computer visionWith automatic parallelization and spatially sparse data structures, Taichi powers the fast development of a LiDAR-based SLAM system.
More Use Cases
The advantages of using Taichi
Easy to learn
No barrier to entry for Python users: Taichi shares almost the same syntax as Python. Apply a single Taichi decorator, and your functions are automatically turned into optimized machine code.
Try drawing a Mandelbrot set in 40 lines of Taichi code
Taichi’s JIT compiler automatically compiles Python functions into fast GPU or CPU machine code for parallel execution. While Taichi lives in Python, it can approach or even outrun the speed of C++ or CUDA.
View Taichi benchmarks
Integrated into the Python ecosystem
Taichi can seamlessly interoperate with popular Python frameworks, such as NumPy, PyTorch, matplotlib, and pillow.
Learn how Taichi interacts with arrays from external libraries
Taichi’s ahead-of-time mode enables deployment on platforms without Python, including PCs, mobile devices, and web browsers.
Learn more about Taichi's AOT solution
Key features of Taichi
High-performance parallel computingA one-billion-particle MPM simulation running on a GPU with 80 GB memory - the world’s largest-scale single-GPU particle simulation!
Automatic differentiationSoft robot locomotion control powered by Taichi’s handy automatic differentiation system, which is significantly faster than PyTorch, TensorFlow, and JAX.
Flexible SNode system
Taichi’s SNode system allows quick experimentation with different memory layouts to maximize performance without rewriting computation code.
Spatially sparse data structuresA fluid simulation example where empty regions take no computation nor memory, enabled by spatially sparse data structures in Taichi.
Organizations that use Taichi
ETH Zürich uses Taichi in its Physically-based Simulation course, effectively improving both the learning and teaching experience.
The University of Utah uses Taichi for simulation in the paper A General Two-Stage Initialization for Sag-Free Deformable Simulations, published at SIGGRAPH 2022.
OPPO, a smart device manufacturer, uses Taichi to develop stunning physics-based wallpapers that run interactively on mobile devices.
Kuaishou, a short video platform, uses Taichi as its high-performance mobile GPU solution, enabling unique real-time liquid and gas simulations for generating special effects.
What users love about Taichi
Join the Taichi Community
together with over 200 contributors from all over the world
Join our Slack channel to meet the Taichi developers and chat about anything related to Taichi, be it Taichi’s internals, RFCs, or new features.
You are more than welcome to file bug reports, open pull requests, track issues and milestones on GitHub.
Follow us @TaichiGraphics on Twitter to get informed of the latest events, classy demos, and inspiring projects.
Subscribe to Taichi’s YouTube channel for useful tutorials and impressive demos.
Ready to dive in Taichi?
Install and write your first Taichi program!
$ pip install taichi -U
$ ti gallery
Good First Issue
Code of Conduct
Get the latest news from Taichi in a monthly email.