/taichi

Productive & portable high-performance programming in Python.

Primary LanguageC++MIT LicenseMIT

Publishing Checks Docker Cloud Build Status Python Codecov Status Latest Release Netlify Status

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).

中文视频教程: [哔哩哔哩], [幻灯片]

Examples (More...)

Installation Downloads

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:

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:

Links

Security

Please disclose security issues responsibly to security@taichi.graphics.


1. TaichiZoo is still in its Beta version. If you've encountered any issue, please do not hesitate to file a bug.