Taichi

Latest version: v1.7.3

Safety actively analyzes 714772 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 22 of 23

0.5.10

Notable changes:
- (Mar 29, 2020) v0.5.10 released
- **Language and syntax**
- Fix `ti.static(ti.grouped(ti.ndrange(...)))` syntax checker false positive (680) (by **Yuanming Hu**)
- **CLI**
- `ti test` now supports `-t/--threads` for specifying number of testing threads (674) (by **Yuanming Hu**)

Full changelog:
- [Infra] `ti test` now supports `-t/--threads` for specifying number of testing threads (674) (by **Yuanming Hu**)
- [Lang] Fix `ti.static(ti.grouped(ti.ndrange(...)))` syntax checker false positive (680) (by **Yuanming Hu**)
- [misc] Removed useless files (by **Taichi Gardener**)
- [misc] Update README.md (by **Yuanming Hu**)

0.5.9

Notable changes:
- (Mar 28, 2020) v0.5.9 released
- **CPU & CUDA backends**
- Support `bitmasked` as the leaf block structure for `1x1x1` masks (676) (by **Yuanming Hu**)
- **Documentation**
- Updated contributor guideline (658) (by **Yuanming Hu**)
- **Infrastructure**
- 6x faster compilation on CPU/CUDA backends (673) (by **Yuanming Hu**)
- **Language and syntax**
- Simplify dense.bitmasked to bitmasked (670) (by **Ye Kuang**)
- Support break in non-parallel for statements (583) (by **彭于斌**)
- **Metal backend**
- Enable `bitmasked` on Metal (661) (by **Ye Kuang**)
- Silence compile warnings (650) (by **Ye Kuang**)
- **Optimization**
- Improved Taichi IR optimizers (662) (668) (by **xumingkuan**)

Full changelog:
- [misc] `misc/make_changelog.py` for automatically generating changelogs (679) (by **Yuanming Hu**)
- [metal] Simplify Metal backend's namings (675) (by **Ye Kuang**)
- [CPU][CUDA] Support `bitmasked` as the leaf block structure for `1x1x1` masks (676) (by **Yuanming Hu**)
- [Infra] 6x faster compilation on CPU backends (673) (by **Yuanming Hu**)
- [misc] Improve format server stability (672) (by **Yuanming Hu**)
- [ir] Basic function definition/call instructions (612) (by **彭于斌**)
- [Lang] Simplify dense.bitmasked to bitmasked (670) (by **Ye Kuang**)
- [misc] Fixed format server file coverage (669) (by **Yuanming Hu**)
- [Opt] Merge adjacent if's with identical conditions (668) (by **xumingkuan**)
- [metal] Move platform/metal to backends/metal (667) (by **Ye Kuang**)
- [ir] Added irpass::gather_statements (665) (by **Yuanming Hu**)
- [Opt] Dive into container statements to find local loads/stores for optimization, and optimize loads of new allocas to 0 (662) (by **xumingkuan**)
- [Metal] Changes to enable `bitmasked` on Metal! (661) (by **Ye Kuang**)
- [Doc] Updated contributor guideline (658) (by **Yuanming Hu**)
- [misc] Introduced a temporary boolean constant for benchmarking advanced optimizations (657) (by **xumingkuan**)
- [misc] v0.5.8 README (654) (by **Yuanming Hu**)
- Fixed MGPCG (652) (by **Yuanming Hu**)
- Refactor ASTTransformer.visit_For and fix a bug on grouped ndrange loops (648) (by **xumingkuan**)
- [Metal] Silence compile warning with [[maybe_unused]] (650) (by **Ye Kuang**)
- add LineAppender for OpenGL too 643 (651) (by **彭于斌**)
- Support break in non-parallel for statements by translate range-for into while 578 (583) (by **彭于斌**)
- [Metal] Add bitmasked support in MetalRuntime (638) (by **Ye Kuang**)

0.5.8

Changes that are visible to users:
- [Lang] Access out-of-bound checking on CPU backends (572) (by **xumingkuan**)
- [Lang] Testable device-side assertion failures on CPUs (605) (by **xumingkuan**)
- [Lang] Added `Expr.copy_from` (by **Yuanming Hu**)
- [Lang] Added `ti.Vector.unit` to generate unit vectors (by **Yuanming Hu**)
- [Lang] Use `a = ti.static(a_very_long_variable)` for easy aliasing [[doc]](https://taichi.readthedocs.io/en/latest/syntax_sugars.html#aliases) (587) (by **彭于斌** and **KLozes**)
- [DiffTaichi] Experimental support for automatically differentiating through conditional global load/stores (by **Yuanming Hu**)
- [Lang] Added `ti.atomic_min`, `ti.atomic_max`, `ti.atomic_bit_or`, `ti.atomic_bit_and`, `ti.atomic_bit_xor` (CPU and CUDA by **KLozes**, OpenGL by **彭于斌**, Metal by **Ye Kuang**)
- [Bugfix] Fixed stack traceback printing on OS X (610) (by **Yuanming Hu**)
- [CLI] `ti format` now cover all files from upstream/master to the working tree (629) (by **Ye Kuang**)
- [CLI] `ti test` now uses `argparse` for better customizability (601) (by **彭于斌**)
- [Backend] OpenGL Compute Shader backend will officially release very soon with v0.6! (by **彭于斌**)
- [Backend] Metal backend sparsity support work in progress (by **Ye Kuang**)
- [Example] Added `examples/mgpcg.py` (573) (by **KLozes**)
- [Example] Added `examples/sdf_renderer.py` (by **Yuanming Hu**)
- [Example] Added `examples/mgpcg_advanced.py` (573) (by **Yuanming Hu**)

All changes:
- Postponed demote_dense_struct_for on x86 and CUDA (649) (by **Yuanming Hu**)
- Add LineAppender to dedupe code emitting methods (643) (by **Ye Kuang**)
- Simplify init in mgpcg_advanced.py (645) (by **xumingkuan**)
- New extension 'adstack' (646) (by **Yuanming Hu**)
- Mutable local variable autodiff (640) (by **Yuanming Hu**)
- Change Jenkins repo URL to taichi-dev (644) (by **Yuanming Hu**)
- Fix Jenkinsfile after testing CLI update (642) (by **Yuanming Hu**)
- Fixed 'ti format' crashing on deleted files (641) (by **Yuanming Hu**)
- Support atomic min/max/bit_and/bit_or/bit_xor on Metal (632) (by **Ye Kuang**)
- Add atomic_bit_or/xor/and for OpenGL (634) (by **彭于斌**)
- [Metal] Add runtime support in Metal codegen (626) (by **Ye Kuang**)
- Fixed ASTTransformer.visit_For on static ndrange loops (630) (by **Yuanming Hu**)
- Add atomic min/max/bit_and/bit_or/bit_xor (627) (by **KLozes**)
- For Loops with Grouped NDRange (625) (by **xumingkuan**)
- Make `ti format` cover all files from upstream/master to the working tree (629) (by **Ye Kuang**)
- Removed ClearAllStmt (624) (by **Yuanming Hu**)
- Refactor type system: added pointer, i1->u1, created data_type.inc.h (623) (by **Yuanming Hu**)
- Link to format server in PR template (619) (by **Yuanming Hu**)
- Format server index page (618) (by **Yuanming Hu**)
- Reformat everything (617) (by **Taichi Gardener**)
- Improved `ti format` (616) (by **Yuanming Hu**)
- IR extension for mutable local variable history and autodiff (608) (by **Yuanming Hu**)
- Added syntax sugar doc for static assignment (585) (by **KLozes**)
- Use argparse for `ti test` in taichi/main.py to implement 600 (601) (by **彭于斌**)
- [Metal] Add Runtime shaders to support sparse SNode (614) (by **Ye Kuang**)
- throw UnboundLocalError when accessing loop variables outside static for loops (613) (by **Yuanming Hu**)
- Testable Device-Side Assertion Failures on CPUs (605) (by **xumingkuan**)
- [Metal] Move Metal shader code to shaders/ folder (611) (by **Ye Kuang**)
- fixed print_traceback overflow on OS X (610) (by **Yuanming Hu**)
- Simplified GlobalPtrStmt and improved its CSE optimization (599) (by **Yuanming Hu**)
- OpenGL backend (stage 2.2.2) (545) (by **彭于斌**)
- Removed unused fields of SNode (598) (by **Yuanming Hu**)
- Fixed non-OpenGL build (596) (by **Yuanming Hu**)
- OpenGL backend minor fixes (stage 2.2.1) (595) (by **彭于斌**)
- OpenGL external array access (stage 2.1.2) (586) (by **彭于斌**)
- OpenGL range_for support (stage 2.1.1) (594) (by **彭于斌**)
- Fix travis (589) (by **Yuanming Hu**)
- Format server script (588) (by **Yuanming Hu**)
- add static ptr assignment for funcs too (587) (by **KLozes**)
- Temporary global variable aliasing within kernels 574 (575) (by **彭于斌**)
- make mgpcg_advanced.py more dimensionality-independent (by **Yuanming Hu**)
- allow passing ti.Expr/Matrix to ti.func (by **Yuanming Hu**)
- ti.Vector.unit (by **Yuanming Hu**)
- added a more advanced MGPCG exmaple (by **Yuanming Hu**)
- Access out-of-bound checking on CPU backends (Stage 2) (582) (by **xumingkuan**)
- use array of scalars instead of ti.Vector in mgpcg.py (by **Yuanming Hu**)
- simplified mgpcg example; multigrid switch (by **Yuanming Hu**)
- simplify mgpcg with more templates (by **Yuanming Hu**)
- reformat example/mgpcg.py (584) (by **Taichi Gardener**)
- mark side effects for GloatPtrStmt with activation (by **Yuanming Hu**)
- Avoid error message formatting for valid accesses (579) (by **xumingkuan**)
- [feature] Access out-of-bound checking on CPU backends (572), stage 1 (by **xumingkuan**)
- [bugfix] fixed type demotion behavior (by **Yuanming Hu**)
- simplified examples/mgpcg.py by leveraging new language features (by **Yuanming Hu**)
- add mgpcg example (573) (by **KLozes**)
- comments to examples/particle_renderer.py (by **Yuanming Hu**)
- Expr.copy_from (by **Yuanming Hu**)
- [Refactor] hide MetalStructCompiler to the cpp file (569) (by **Ye Kuang**)
- [Metal] Decouple Metal's runtime from LLVM memory (568) (by **Ye Kuang**)
- Add assertions to prevent infinite loop in `least_pot_bound` in case of negative snode size (567) (by **xumingkuan**)

0.5.0

0.4.5

0.4.1

Page 22 of 23

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.