The Taichi Programming Language
Project description
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
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:
- The PyPI package supports x64 CPU, CUDA 10/11, Metal, Vulkan and OpenGL Compute Shader backends.
- On Windows, please install Microsoft Visual C++ Redistributable if you haven't.
- [All releases]
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:
- (SIGGRAPH Asia 2019) Taichi: High-Performance Computation on Sparse Data Structures [Video] [BibTex] [Code]
- (ICLR 2020) DiffTaichi: Differentiable Programming for Physical Simulation [Video] [BibTex] [Code]
- (SIGGRAPH 2021) QuanTaichi: A Compiler for Quantized Simulations [Video] [BibTex] [Code]
Links
- TaichiCon: Taichi developer conferences.
- GAMES 201 Lectures: (Chinese) A hands-on course on building advanced physics engines, based on Taichi.
- TaichiZoo: Running Taichi code in your browser 1.
- 加入太极图形.
- 太极图形课.
- More...
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for taichi-0.8.7-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18dd9168699db88c4e125e23718a558b0f3e835c8c45154da06bd0a854fdd97d |
|
MD5 | cdb8a3f7704a716f55d468aba493d7ce |
|
BLAKE2b-256 | 9ad33532d5f7b4a14d16c38506294cde06e372318f30a66bc6ee18dce1e27846 |
Hashes for taichi-0.8.7-cp39-cp39-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c0db1985a7061b5639640642587dcaf3b8074eb3bbecd8263c403cf3ff0a7e9 |
|
MD5 | c18c424f30af00a255df0af815f316d0 |
|
BLAKE2b-256 | b2d24cc808ebdd67ecf2062c28137a65742bc34832d6f8147e95931f9be87b51 |
Hashes for taichi-0.8.7-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33ac9e5e7ece7dc8052649630bdf11fed8a8831fb50245d14486e58356d97e1e |
|
MD5 | f54a2993f477c72504490ee2ed24fb90 |
|
BLAKE2b-256 | f890c936f3323a181a42eb1c9b98cdc01263333d40850905686e003ce54a6c21 |
Hashes for taichi-0.8.7-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da731aee09c741d1b4c3f1b2d2353f717eb947bf5a8f5d4a4d8904727583b776 |
|
MD5 | a917cbbcc0e506dcaf72e46a5a853e6f |
|
BLAKE2b-256 | f82bdc78ec77c320d93df02c4f4758d21f925b1f0e709b913e420c47363a6170 |
Hashes for taichi-0.8.7-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9af4f61f9474423cf166c91b8bad6a49f5ee1a76ca42ff02bf23d884283fbb36 |
|
MD5 | 8be82ce148fd3347349a27b47fc5b317 |
|
BLAKE2b-256 | dca3fefbaa5fb8de9428675a694fae528d1ca8ad227122361333c143efa7a56e |
Hashes for taichi-0.8.7-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 161413ae177f9fefc6a93f8dfcc83ac1302b24f30ae4d5e5a9075690ab215176 |
|
MD5 | 254b433d2ba3938cbd191c8b63534e7c |
|
BLAKE2b-256 | cbd5a90ad794f8c3ea543788aff1a5ec91abb38f7c061409f32e55986315e4cd |
Hashes for taichi-0.8.7-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9685ecf3e79dcdb7fbb55c1f3abe0cc70742b1975039e3fca0416f5d9f047d90 |
|
MD5 | 57f8cd06003b08d2a151fbb0fe0ab1a8 |
|
BLAKE2b-256 | 15555380be7d458f37c54a6700e4a60f405936bc1f58d0cafd3a3b196a0219dd |
Hashes for taichi-0.8.7-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7749de5ce4642fac865cce2fca625d052449522c7fba2e531c71791b69486d9a |
|
MD5 | fe62151828aaec73a31d7e7a9b7bd528 |
|
BLAKE2b-256 | 8a66a08dc00c4b109eab209de4216bb0875c3c517214e1b9294bde001d592ad1 |
Hashes for taichi-0.8.7-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0514ebccdb0ffd2c7a2fea63e8264deba290190017849a132b1e89ee0bde6fad |
|
MD5 | 5f6a2cfd3bfc8641df28df156e152884 |
|
BLAKE2b-256 | 88f04555abbb2ac8b8abc7f45ee3139d39d4814ce21ee7f8b35ea317b5de97e1 |
Hashes for taichi-0.8.7-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0f2aa64a35aa4c4ecd5f74b0a17eddb220389ae3286b0412a77d9442717661c |
|
MD5 | 6921469f0fb5f283adda509a72535310 |
|
BLAKE2b-256 | 89ab23063577b676d3ebdb050211cf7ad8eb5af14c9838c229737f8e81280d36 |
Hashes for taichi-0.8.7-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb2fb2d44517b498964bb3dc083447e6a36ebebed12d375c6fa044f607c4018f |
|
MD5 | 8083cd06c6dac2f69d1142c3aa7e7785 |
|
BLAKE2b-256 | 8a2a7a1706efd8c36d8d9bb3009e008d85df4bd86d262cd85c4a4c397af4fef4 |
Hashes for taichi-0.8.7-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7eddcfbf65f767675f2d1f95eb908681126195fe1948f504db9622c842578547 |
|
MD5 | 11a068b0c088b1a9775eef4be5047b9e |
|
BLAKE2b-256 | d36c253cac44ed4e27868f8d8a28f9d980a2d63b9f1c45716783290a4f983d58 |
Hashes for taichi-0.8.7-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb532924725684d5afe2828c0e4210bf580d028af7575703cfc326730f5af71a |
|
MD5 | 6f818b85816365ba20583eab255a066d |
|
BLAKE2b-256 | af896b14f172ce09fcbcb5f9b7ea02cccbc7221d18046d2b4bbc6e5a9626527d |
Hashes for taichi-0.8.7-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbf99bba6aae3bd4d9b0d2fa5126703b6911201cd49bc9fb7baaf6809767a9af |
|
MD5 | c3d29f698148d7632a87712aa0f86b0e |
|
BLAKE2b-256 | 2c4eb273fb240792550e94d669cb0ddc3f75d80a5da87506ca796a585ef2eff5 |
Hashes for taichi-0.8.7-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 661290c6b6f80aa17e2adae6726384db9b1a710d9d838f20d9a7b8aa4c5f022e |
|
MD5 | 88645ffb387eaab7e3411f26cab2222e |
|
BLAKE2b-256 | d113a85bb110a3e388ce0b6da47c3715e2632f31875a7d6eea001d07c2064ed3 |
Hashes for taichi-0.8.7-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4631e11d7853a44c0f98124afdae6715b5fb01d5ca295065c0c5de9911945041 |
|
MD5 | 64e10e32694ae2d657e8fb1b669a8e46 |
|
BLAKE2b-256 | c186a508329a410103a149aa0c4a145a763715659658f0372e215590c6de355c |
Hashes for taichi-0.8.7-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f1a9e2972db74bef5149e2f19193c954f9bb0b7c19efef2783562df248df894 |
|
MD5 | 19b334d933c0a8eda3d966ec34bd06bd |
|
BLAKE2b-256 | e0e626e3df9536a98cceeaf35791ce7307b1e8a89260cb91d01aecb2d83f0561 |
Hashes for taichi-0.8.7-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c4729dc585cae1dc72284c2901ac9116a41cec88f27af3bc1f8106636eb9b07 |
|
MD5 | 356298baa8e8870fef8be8e2df54a02f |
|
BLAKE2b-256 | 57d106a52967033d8959e029b535721453a3525c398cd79f67b12978f0811086 |