Taichi is a domain-specific language embedded in Python that helps you easily write portable, high-performance parallel programs.
Install
$ pip install taichi -U
Examples
$ ti gallery
Get Started
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.
Try now
Numerical simulation
Create an urban airflow simulation using 3D Lattice Boltzmann Method, with spatially sparse data structures provided by Taichi.
Learn more
3D rendering
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.
Learn more
Computer visionWith automatic parallelization and spatially sparse data structures, Taichi powers the fast development of a LiDAR-based SLAM system.
Learn more
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
High-performance
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
Universal deployment
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!
Learn more
Automatic differentiationSoft robot locomotion control powered by Taichi’s handy automatic differentiation system, which is significantly faster than PyTorch, TensorFlow, and JAX.
Learn more
Flexible SNode system
Taichi’s SNode system allows quick experimentation with different memory layouts to maximize performance without rewriting computation code.
Learn more
Spatially sparse data structuresA fluid simulation example where empty regions take no computation nor memory, enabled by spatially sparse data structures in Taichi.
Learn more
Organizations that use Taichi
ETH Zürich uses Taichi in its Physically-based Simulation course, effectively improving both the learning and teaching experience.
View course
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.
View paper
OPPO, a smart device manufacturer, uses Taichi to develop stunning physics-based wallpapers that run interactively on mobile devices.
Learn more
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
Taichi is mainly used to replace some of our GPU shaders code and make our development so much easier (especially for debugging!). In addition, Taichi supports generation of AOT modules, allowing us to run our code on different platforms including Android on Mobile phones! Creating beautiful and physical-based algorithms has never been so easy with Taichi!
Gabriel Huau
OPPO Senior Engineering Manager
Taichi is much easier to grasp than traditional GPU programming languages. Once a Taichi program is compiled, it can be deployed on iOS, Android, PC, and many more platforms. We need to iterate and release new (GPU-based) visual effects quickly, and Taichi has greatly accelerated our workflow.
Chongyang Ma
Lead of Y-tech Graphics AI, Kwai
The simplicity of design in Taichi is always the key to great work. With much less code, we achieved surprisingly good visual results and highly sophisticated features. Taichi proves to be a significant boost to my research and development work.
Hao Xu
Ph.D. student in Computer Engineering, HKUST
We use Taichi for physical simulation. It is easy to use. 90% of our projects used Taichi and were completed with flying colors. Taichi is also efficient. It has much less scaffolding code than other languages or frameworks.
Jingwei Tang
Research Assistant, ETH Zürich
Join the Taichi Community
together with over 200 contributors from all over the world
Discord
Join our Discord channel to meet the Taichi developers and peer users/contributors, and chat about anything related to Taichi – be it Taichi's internals, RFCs, or new features!
GitHub
You are more than welcome to file bug reports, open pull requests, track issues and milestones on GitHub.
Twitter
Follow us @taichi_lang on Twitter to get informed of the latest events, classy demos, and inspiring projects.
YouTube
Subscribe to Taichi’s YouTube channel for useful tutorials and impressive demos.
Ready to dive in Taichi?
Install and write your first Taichi program!
Install Taichi
$ pip install taichi -U
Example demos
$ ti gallery
Get Started
Documentation
Cheatsheet
Tutorial
API Reference
FAQ
Resources
Blog
Newsletter
Release Notes
Global Forum
Community
Contributor's Guide
Good First Issue
Issue Tracker
Code of Conduct
Newsletter
Get the latest news from Taichi in a monthly email.