Repolode
taichi-dev

taichi-dev/taichi

A Python-embedded programming language that JIT-compiles numerical kernels to run on CPUs and GPUs such as CUDA, Vulkan and Metal.

Stars
28,450
Forks
2,392
Open issues
926
Last commit
last month

What is it?

Taichi Lang is an imperative, parallel programming language for high-performance numerical computation, embedded in Python. Functions decorated with @ti.kernel are compiled just in time by an LLVM-based toolchain into native CPU or GPU instructions, so compute-heavy Python code can run in parallel without rewriting it in C++ or CUDA.

The syntax stays close to Python and the language integrates with NumPy and PyTorch. Its data containers, called SNodes, let developers describe hierarchical, multi-dimensional fields, including spatially sparse layouts. Code is written once and can target supported backends such as CUDA, Vulkan, OpenGL, Apple Metal and x64/ARM CPUs.

The project also includes differentiable programming support and a Vulkan-based 3D visualizer. Its gallery and examples cover physical simulation, rendering and fluid dynamics.

Key features

  • 01Write kernels in Python syntax that are JIT-compiled to CPU or GPU code.
  • 02Runs on CUDA, Vulkan, OpenGL, Apple Metal and x64/ARM CPUs.
  • 03Supports spatially sparse data structures through SNode containers.
  • 04Integrates with NumPy and PyTorch.
  • 05Includes differentiable programming and a Vulkan-based 3D visualizer.

Use cases

  • Accelerating numerical simulations such as fluids, particles or physical systems in Python.
  • Prototyping GPU algorithms without writing CUDA or shader code by hand.
  • Building differentiable physics or graphics pipelines.
  • Developing rendering or visual-effects experiments that need parallel computation.

Quick start

  1. 1

    Install Taichi with pip

    pip install taichi
  2. 2

    Launch the demo gallery

    ti gallery

Things to know

  • Python 3.6 to 3.10 only, 64-bit.
  • Pre-release nightly packages may crash because they are not fully tested.

In collections

Topics

FAQ

What is taichi?
A Python-embedded programming language that JIT-compiles numerical kernels to run on CPUs and GPUs such as CUDA, Vulkan and Metal. Taichi Lang is an imperative, parallel programming language for high-performance numerical computation, embedded in Python. Functions decorated with @ti.kernel are compiled just in time by an LLVM-based toolchain into native CPU or GPU instructions, so compute-heavy Python code can run in parallel without rewriting it in C++ or CUDA.
Is taichi free to use? What license does it have?
taichi is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is taichi still maintained?
Updated within 6 months. The last commit to taichi was on Oct 5, 2026.
What can I use taichi for?
Accelerating numerical simulations such as fluids, particles or physical systems in Python. Prototyping GPU algorithms without writing CUDA or shader code by hand. Building differentiable physics or graphics pipelines. Developing rendering or visual-effects experiments that need parallel computation.
How do I install taichi?
Install Taichi with pip: pip install taichi Launch the demo gallery: ti gallery
Where can I get taichi?
The source code and installation instructions are on GitHub: https://github.com/taichi-dev/taichi

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects

A header-only C++ library for writing task-parallel programs using task graphs, with CPU multithreading and CUDA GPU support.

Backend & APIs#concurrent-programming#multithreading#parallel-computing
12.2K+6 this week1.4KC++OtherWell maintainedUpdated 23 days ago