# Taichi **Repository Path**: Logic3/Taichi ## Basic Information - **Project Name**: Taichi - **Description**: Taichi 是一个计算机图形库,使用 C++ 编写而成,并且 Python 封装友好,提供了一个 Python 3 绑定 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: https://www.oschina.net/p/taichi - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 38 - **Created**: 2020-08-10 - **Last Updated**: 2021-02-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
[](https://travis-ci.com/taichi-dev/taichi) [](https://ci.appveyor.com/project/yuanming-hu/taichi/branch/master) [](https://hub.docker.com/r/taichidev/taichi) [](https://codecov.io/gh/taichi-dev/taichi/src/master) [](https://github.com/taichi-dev/taichi/releases/latest) ## Overview **Taichi** (太极) is a programming language designed for *high-performance computer graphics*. It is deeply 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](https://taichi.readthedocs.io/en/latest/sparse.html) and [differentiable programming](https://taichi.readthedocs.io/en/latest/differentiable_programming.html) [[examples]](https://github.com/yuanming-hu/difftaichi).
**Please check out our SIGGRAPH 2020 course on Taichi basics:** [YouTube](https://youtu.be/Y0-76n3aZFA), [Bilibili](https://www.bilibili.com/video/BV1kA411n7jk/), [slides (pdf)](https://yuanming.taichi.graphics/publication/2020-taichi-tutorial/taichi-tutorial.pdf).
**中文视频教程:** [[哔哩哔哩]](https://www.bilibili.com/video/BV1gA411j7H5), [[幻灯片]](https://yuanming.taichi.graphics/publication/2020-taichi-tutorial/taichi-tutorial.pdf)
## Examples ([More...](misc/examples.md))
## Installation [](https://pepy.tech/project/taichi)
```bash
python3 -m pip install taichi
```
**Supported OS**: Windows, Linux, Mac OS X; **Python**: 3.6/3.7/3.8 (64-bit only); **Backends**: x64 CPUs, CUDA, Apple Metal, 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:**
- The PyPI package supports x64 CPU, CUDA 10/11, Metal, and OpenGL Compute Shader backends.
- On Ubuntu 19.04+, please `sudo apt install libtinfo5`.
- On Windows, please install [Microsoft Visual C++ Redistributable](https://aka.ms/vs/16/release/vc_redist.x64.exe) if you haven't.
- [[All releases]](https://github.com/taichi-dev/taichi/releases)
|| **Linux (CUDA)** | **OS X (10.14+)** | **Windows** | **Documentation**|
|:------|:-----|:-----|:-----|:-----|
|**Build**|[](http://f11.csail.mit.edu:8080/job/taichi/)| [](https://travis-ci.com/taichi-dev/taichi) | [](https://ci.appveyor.com/project/yuanming-hu/taichi/branch/master)| [](http://taichi.readthedocs.io/en/latest/?badge=latest)|
|**PyPI**|[](https://travis-ci.com/yuanming-hu/taichi-wheels-test)|[](https://travis-ci.com/yuanming-hu/taichi-wheels-test)|[](https://ci.appveyor.com/project/yuanming-hu/taichi-wheels-test) |
## Links
- [Taichi Conference](https://github.com/taichi-dev/taichicon): Taichi developer conferences.
- [GAMES 201 Lectures](https://github.com/taichi-dev/games201): (Chinese) A hands-on tutorial on building advanced physics engines, based on Taichi.
- [Gitee mirror of Taichi](https://gitee.com/mirrors/Taichi): For the convenience of Chinese contributors, clone from the mirror repo hosted on Gitee (码云).
---
- [Taichi THREE](https://github.com/taichi-dev/taichi_three): A 3D rendering library based on Taichi.
- [Taichi GLSL](https://github.com/taichi-dev/taichi_glsl): A Taichi extension library that provides a set of GLSL-style helper functions.
- [Taichi Elements](https://github.com/taichi-dev/taichi_elements): A high-performance multi-material continuum physics engine based on Taichi (work in progress).
- [Taichi Blend](https://github.com/taichi-dev/taichi_blend): Taichi Blender intergration for physics-based animations (work in progress)
- [Taichi.js](https://github.com/taichi-dev/taichi.js): Run compiled Taichi programs in Javascript and WASM (work in progress).
---
- [TaichiMD](https://github.com/victoriacity/taichimd): Interactive, GPU-accelerated Molecular (& Macroscopic) Dynamics using Taichi, by [Andrew Sun (victoriacity)](https://github.com/victoriacity).
- [LBM Taichi](https://github.com/hietwll/LBM_Taichi): A fluid solver based on the Lattice Boltzmann Method (LBM) using Taichi, by [Zhuo Wang (hietwll)](https://github.com/hietwll).
- [Shadertoy in Taichi](https://github.com/Phonicavi/Shadertoy-taichi): Some shadertoy examples implemented in Taichi, by [Qiu Feng (Phonicavi)](https://github.com/Phonicavi).
- [DiffTaichi](https://github.com/yuanming-hu/difftaichi): 10 differentiable physical simulators built with Taichi differentiable programming, by [Yuanming Hu (yuanming-hu)](https://github.com/yuanming-hu).
## Developers
The Taichi project was created by [Yuanming Hu (yuanming-hu)](https://github.com/yuanming-hu). Significant contributions are made by:
- [Ye Kuang (k-ye)](https://github.com/k-ye) (Apple Metal backend)
- [彭于斌 (archibate)](https://github.com/archibate) (OpenGL Compute Shader backend)
- [Mingkuan Xu (xumingkuan)](https://github.com/xumingkuan) (IR optimization & standardization)
[Kenneth Lozes (KLozes)](https://github.com/KLozes) and [Yu Fang (squarefk)](https://github.com/squarefk) have also made notable contributions.
[[List of all contributors to Taichi]](https://github.com/taichi-dev/taichi/graphs/contributors)
-------------------------------
The Simplified Chinese documentation (简体中文文档) was created by [Ark (StephenArk30)](https://github.com/StephenArk30). Significant contributions are made by:
- [彭于斌 (archibate)](https://github.com/archibate)
- [Danni Li (isdanni)](https://github.com/isdanni)
- [Chengchen Wang (rexwangcc)](https://github.com/rexwangcc)
- [万健洲 (ArkhamWJZ)](https://github.com/ArkhamWJZ)
[[List of all contributors to the Simplified Chinese documentation of Taichi]](https://github.com/taichi-dev/taichi-docs-zh-cn/graphs/contributors)
-------------------------------
We welcome feedback and comments. If you would like to contribute to Taichi, please check out our [Contributor Guidelines](https://taichi.readthedocs.io/en/latest/contributor_guide.html).
If you use Taichi in your research, please cite our papers:
- [**(SIGGRAPH Asia 2019) Taichi: High-Performance Computation on Sparse Data Structures**](https://yuanming.taichi.graphics/publication/2019-taichi/taichi-lang.pdf) [[Video]](https://youtu.be/wKw8LMF3Djo) [[BibTex]](https://raw.githubusercontent.com/taichi-dev/taichi/master/misc/taichi_bibtex.txt) [[Code]](https://github.com/taichi-dev/taichi)
- [**(ICLR 2020) DiffTaichi: Differentiable Programming for Physical Simulation**](https://arxiv.org/abs/1910.00935) [[Video]](https://www.youtube.com/watch?v=Z1xvAZve9aE) [[BibTex]](https://raw.githubusercontent.com/taichi-dev/taichi/master/misc/difftaichi_bibtex.txt) [[Code]](https://github.com/yuanming-hu/difftaichi)