/taichi

Parallel programming for everyone.

Primary LanguageC++MIT LicenseMIT

Postsubmit 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

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.

Please build from source for other configurations (e.g., your CPU is ARM, or you want to try out our experimental C backend).

Note:

Developer Installation

Please follow this doc to learn how to build Taichi from source. Note that Taichi requires LLVM-10.0.0, and it is recommneded to use our prebuilt LLVM libraries for each platform.

Contributors

Note: contributor avatars above are randomly shuffled.


We welcome feedback and comments. If you would like to contribute to Taichi, please check out our Contributor Guidelines.

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.