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
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:
- 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.11-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bb01fe9ce52c6f4376b3e8b52df7a0507ba82fe97101ebf1930b33f6134aac3 |
|
MD5 | f54411974bbd6b4344e0a224ca64a710 |
|
BLAKE2b-256 | 19447bc72fae383563a30c44c293e612f9dc721f7a3afb0b2ac714c7be874ea1 |
Hashes for taichi-0.8.11-cp39-cp39-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d89e5c2a65a849d83cd1586c4230570f791fb6c0bd911607682d55087b9c8e8 |
|
MD5 | 99ab449f9ad6f01722bf5a343583f1f6 |
|
BLAKE2b-256 | 3daceebe335df84cca9eac7da8789db8ef840d502f814e0a6ff579e602601449 |
Hashes for taichi-0.8.11-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cde1c33dc8728174398544a1a04d97efc4426496f94f613d6b72127ed6eeb425 |
|
MD5 | 4c8629f92a023ab5ca71194a50c8bcc8 |
|
BLAKE2b-256 | 9d46e1f2038eda2831949aea4b9840ef36e07315520dec5de2b352d8400580b6 |
Hashes for taichi-0.8.11-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0f89e44ae39d235ced51041650e916fcd3fde225fa9bfcc773b0de9535ed407 |
|
MD5 | 7a464a2547451e4eb089aec0a0753289 |
|
BLAKE2b-256 | 8320f3fddf5c4a2cbfecacc9fe268af442337506e5641a758874cf40e2ca3250 |
Hashes for taichi-0.8.11-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79c34ea44432ffa4241130fbf594ffd12b3474a74412cf37f81991335b01ae9a |
|
MD5 | 41d69063895e7141c8a27874cda33acf |
|
BLAKE2b-256 | 68030d356f8fd5036008c6f0ce8e37889627dceebe97a7e04a8cebf98b13a3ba |
Hashes for taichi-0.8.11-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12a6ff2265817e9bce29c6cc518fb2a1d9b931a6d9c82981c45e92956eedcbad |
|
MD5 | 8a741207afdb568b9cd270605cdb0b0b |
|
BLAKE2b-256 | 10bfeab03d9950f992d96ef042030e9b35ca8772dc7786fd67b726894608cd6c |
Hashes for taichi-0.8.11-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5cbf0d9463acfeb7b2ae2c68ff2a98cfb4bc50e92d67c02612ea40a9382b362 |
|
MD5 | c53eba98d635b3d3a1fdb344fb1c4a5d |
|
BLAKE2b-256 | bd474646cc66bae54f4ff53432f3c64990f94b29aeba1ab7d8cb9d1acee28aed |
Hashes for taichi-0.8.11-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6008ef4d1efd1c68bd63817c02e3ec9c772d0f0e1cee51bc491f73c2cba70f21 |
|
MD5 | a6e5fdc6d0b368e467b7a8a982e05560 |
|
BLAKE2b-256 | 9738de1e593e9d05577053ff00a01df057d6f4a0ffc913327b5904fc2be2f2e8 |
Hashes for taichi-0.8.11-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22d621e9330414e52de32d1ab0bc6b80eddcbf47d1fc3f15370bc36dc0e9dfbb |
|
MD5 | 465b640e62d81b5a722f7b2fc3d4f5b4 |
|
BLAKE2b-256 | e076ae43f029910a33b035e9cdb30d36e88c0be453caa10bbc868ebc4f44e968 |
Hashes for taichi-0.8.11-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 034f53c8c0ef6c1ad313318d94c29aee03f11faf4cc638cdcd43650b90cd3f6e |
|
MD5 | 9901f6f91aa7aa2fa4217f64be1d4a0f |
|
BLAKE2b-256 | ffb2129aa12d67ac5cfc4dfed4453d4a232fd2734cdaaba0616228894cc5fd71 |
Hashes for taichi-0.8.11-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 255fb734c80f1862c9c0daf85466ceaccf6798970e634a1ec56e86e6b5987361 |
|
MD5 | 944bc52a2549ee4d5d4d04fb9ce3b426 |
|
BLAKE2b-256 | 08d5f0873f29b92dc74fd0ab0834e4ce84029d196c71aa4fc5245fd4356d3462 |
Hashes for taichi-0.8.11-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a95728eb99776b7629816ba0c08cb767e056e89fcd2f26e3bad3d07842f802d8 |
|
MD5 | ad6242c6fa9fbdeabd2b60ddf8cf47d3 |
|
BLAKE2b-256 | 78c9abc7ea5dbbcfe605fca892a9cf4869cd0a9f20d98c12fffed91927a115df |
Hashes for taichi-0.8.11-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ed1c311434422b1bc74cfcd1a145050b1aa04ab7e7eb220a1780a7db0887cd9 |
|
MD5 | 4b74a08775b28d2e048ff5e9c8778ddc |
|
BLAKE2b-256 | 1bc45e81e107bc28053efd0ce1b9e0613dc4960760feda446d3679a256fca9b1 |
Hashes for taichi-0.8.11-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 645848f06cc28e9742e09d19f96bfaf3e36b2cc192cf0357f84402f10dbd6008 |
|
MD5 | 4053968e4f604d880f84bb6064f1f45c |
|
BLAKE2b-256 | fedce9fa9328bd8b0042eafa3ae5d13843b5b19a0b44943792d97e1b763740fc |
Hashes for taichi-0.8.11-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | daf7d4f5b39d589f8055680e16166876bfea3f04c0ed54121b87b0f644adb662 |
|
MD5 | 8217aff62c6018dc0d00b91b045881c4 |
|
BLAKE2b-256 | 06a66be41e33df57d0aee0c3ae3dcaf98438bb08479bad9462713737d75d7e8e |
Hashes for taichi-0.8.11-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9be6fc237715799b0cf180b4274de6b94b328e0ee28d201319693d679e8dfc7a |
|
MD5 | b0a791e6c98d5d03d0779d3310145b79 |
|
BLAKE2b-256 | f6dd9f0881bfd149133cda780f1550e414e20c552ce3fc340bcfd2ac096a5dd2 |
Hashes for taichi-0.8.11-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb22c0b9569ec9d294b55f65c821df836eb813abd5abd7a3fd140e1020b7d97e |
|
MD5 | db8a29e4e2cc29d06d79ef4aa66c5005 |
|
BLAKE2b-256 | 397f47f13d37eb6099689805483d24a7993f69238f301c7af9bb1f2d361372d5 |
Hashes for taichi-0.8.11-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 384f9c5b53d0726df9e0b470c9509c8d5a20245e8a986516cd40e9e3ab701c41 |
|
MD5 | d27b049c01e2877b9d8331a0525c6fa2 |
|
BLAKE2b-256 | 7ef87b70c93cf1e071b3cd03dea532448bb5f1bd0fc7b278a5be94f860623c0d |