Taichi

Latest version: v1.7.3

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

Scan your dependencies

Page 18 of 23

0.6.20

Highlights:
- **Bug fixes**
- Fix environment variable TI_ARCH=xxx not work (1528) (by **彭于斌**)
- **CUDA backend**
- Use CUDA launch bound to limit register usage (1516) (by **Yuanming Hu**)
- Format CUDA assertions and access out-of-bound errors on the host (1509) (by **Yuanming Hu**)
- **Examples**
- Add FEM elastic simulator: fem99 and fem128 (1521) (by **彭于斌**)
- Add ad_gravity.py (compute gradient from potential energy) (1522) (by **彭于斌**)
- Enhance nbody_oscillator.py with molecular force (1529) (by **彭于斌**)
- **GUI**
- Support gui.triangles() for batched triangle painting (1520) (by **彭于斌**)
- **Language and syntax**
- Enhance warning system and support runtime assert message (1492) (by **彭于斌**)
- Support "break" and "continue" in static-fors (1496) (by **彭于斌**)
- Support (a if cond else b) syntax in Taichi-scope (1468) (by **彭于斌**)
- Make block local storage support coordinate offsets and improve its performance (1497) (by **Yuanming Hu**)
- **Linux**
- Fix LLVM symbol leakage to prevent conflict with libGLX_mesa.so by LD version script (1508) (by **彭于斌**)
- **Performance improvements**
- Make BLS work for MPM (1518) (by **Yuanming Hu**)
- **Refactor**
- Add "ti.field" and "ti.Matrix.field" for future deprecation of "ti.var" (1502) (by **彭于斌**)

Full changelog:
- [Example] [autodiff] Add FEM elastic simulator: fem99 and fem128 (1521) (by **彭于斌**)
- [cuda] Another mutex fix (1534) (by **Yuanming Hu**)
- [opengl] [test] Fix failed OpenGL tests these days (1533) (by **彭于斌**)
- [misc] Prettify KernelProfiler outputs (1525) (by **Yuanming Hu**)
- [Example] [autodiff] Add ad_gravity.py (compute gradient from potential energy) (1522) (by **彭于斌**)
- [cuda] Fix mutex on Turing GPUs (1532) (by **Yuanming Hu**)
- [Bug] [cli] Fix environment variable TI_ARCH=xxx not work (1528) (by **彭于斌**)
- [Example] Enhance nbody_oscillator.py with molecular force (1529) (by **彭于斌**)
- [metal] Introduce SNodeRep_* to be used in the generated SNode structs (1527) (by **Ye Kuang**)
- [test] Fix a typo in test_field.py that caused the failure of CI (1523) (by **Xudong Feng**)
- [bug] Fix dynamic SNode activation (1526) (by **Yuanming Hu**)
- [GUI] Support gui.triangles() for batched triangle painting (1520) (by **彭于斌**)
- [Perf] Make BLS work for MPM (1518) (by **Yuanming Hu**)
- [test] Add test_fuse_dynamic.py to unit test (1513) (by **Ye Kuang**)
- [doc] Update documentaion on meta programming for 1374 (1389) (by **彭于斌**)
- [CUDA] Use CUDA launch bound to limit register usage (1516) (by **Yuanming Hu**)
- [misc] Fix ti.init argument parsing when corresponding environment variable presents (1517) (by **Yuanming Hu**)
- [metal] Fix listgen when iterating over children of bitmasked (1511) (by **Ye Kuang**)
- [test] Fix test_field.py (1514) (by **Yuanming Hu**)
- [Refactor] [lang] Add "ti.field" and "ti.Matrix.field" for future deprecation of "ti.var" (1502) (by **彭于斌**)
- [misc] Update README.md (1512) (by **Yuanming Hu**)
- [Lang] Enhance warning system and support runtime assert message (1492) (by **彭于斌**)
- [CUDA] [llvm] Format CUDA assertions and access out-of-bound errors on the host (1509) (by **Yuanming Hu**)
- [opt] Enable dead instruction elimination for RangeAssumptionStmt (1507) (by **xumingkuan**)
- [Linux] Fix LLVM symbol leakage to prevent conflict with libGLX_mesa.so by LD version script (1508) (by **彭于斌**)
- [cli] Fix "AttributeError" of pytest arguments (1505) (by **xumingkuan**)
- [cli] Remove the never used 'tid' command (1494) (by **彭于斌**)
- [Lang] Support "break" and "continue" in static-fors (1496) (by **彭于斌**)
- [doc] Fix code-block render issue in debugging.rst (1484) (by **彭于斌**)
- [Lang] Support (a if cond else b) syntax in Taichi-scope (1468) (by **彭于斌**)
- [async] Add test_fuse_dense.py to unit tests (1504) (by **Ye Kuang**)
- [Lang] [perf] Make block local storage support coordinate offsets and improve its performance (1497) (by **Yuanming Hu**)
- [metal] Misc tweaks to make 1480 easier to review (1481) (by **Ye Kuang**)

0.6.18

Highlights:
- **Docker**
- Some minor doc fixes and add a docker build badge (1442) (by **Chengchen(Rex) Wang**)
- **Examples**
- Add mass_spring_3d.py (an extension library usage demo) (1386) (by **彭于斌**)
- **Language and syntax**
- Experimental external function call support (1456) (by **xumingkuan**)
- Support ti.assume_in_range (1441) (by **Yuanming Hu**)
- **Miscellaneous**
- Standardize ti.init(), now support log_level, gdb_trigger, advanced_optimization as kwargs (1396) (by **彭于斌**)

Full changelog:
- [metal] Refactor runtime ListManager utils (1444) (by **Ye Kuang**)
- [Lang] Experimental external function call support (1456) (by **xumingkuan**)
- [misc] 'ti.init()' now supports all exported configurations in ti.cfg (1449) (by **彭于斌**)
- [doc] Improve the developer installation documentation (1388) (by **彭于斌**)
- [Example] Add mass_spring_3d.py (an extension library usage demo) (1386) (by **彭于斌**)
- [ir] [refactor] Move alias analysis to a separate file (1446) (by **xumingkuan**)
- [Misc] [cli] Standardize ti.init(), now support log_level, gdb_trigger, advanced_optimization as kwargs (1396) (by **彭于斌**)
- [doc] [Docker] Some minor doc fixes and add a docker build badge (1442) (by **Chengchen(Rex) Wang**)
- [Lang] [ir] Support ti.assume_in_range (1441) (by **Yuanming Hu**)
- [llvm] [mac] Update OS X build bots with prebuilt LLVM 10 (1429) (by **Xuanda Yang**)
- [llvm] Support BLS epilogues (1433) (by **Yuanming Hu**)
- [cc] Setup basic statements & runtime for C backend (1400) (by **彭于斌**)

0.6.17

Highlights:
- **Bug fixes**
- Fix all potential matrix SSA violation by using element_wise_write_binary (1424) (by **彭于斌**)
- **CUDA backend**
- Improve random number generator performance (1419) (by **Yuanming Hu**)
- **Docker**
- Update the Dockerfile to use up-to-date instructions for Ubuntu (1385) (by **Chengchen(Rex) Wang**)
- **Error messages**
- Raise an warning when a Taichi matrix have > 32 entries (1401) (by **彭于斌**)
- Show pretty & intuitive stack traceback when ti.enable_excepthook() used (1405) (by **彭于斌**)
- **GUI**
- Get images from the current GUI using gui.get_image() (1422) (by **Xudong Feng**)
- Support mouse wheel event on Linux/X11 (1411) (by **彭于斌**)
- Support mouse wheel event on Mac Cocoa (1418) (by **Ye Kuang**)
- Support mouse wheel event on Win32 (1382) (by **JYLeeLYJ**)
- **Intermediate representation**
- Block local storage for struct-for's on CUDA (1394) (by **Yuanming Hu**)
- **Language and syntax**
- Add ti.static_assert for compile-time assertations (1344) (by **彭于斌**)
- **Metal backend**
- Use managed storage mode to improve performance (1415) (by **Ye Kuang**)
- **IR optimization passes**
- Better aliasing analysis for dead store elimination (1432) (by **xumingkuan**)
- **Performance improvements**
- Support TLS for GlobalTemporaryStmt (1423) (by **Ye Kuang**)

Full changelog:
- [GUI] Get images from the current GUI using gui.get_image() (1422) (by **Xudong Feng**)
- [cuda] [bug] Fix CUDA garbage collection grid dim (1438) (by **Yuanming Hu**)
- [misc] ActionRecorder (Stage I) (1428) (by **Yuanming Hu**)
- [Bug] [lang] [std] Fix all potential matrix SSA violation by using element_wise_write_binary (1424) (by **彭于斌**)
- [Opt] [bug] Better aliasing analysis for dead store elimination (1432) (by **xumingkuan**)
- [metal] Pass kernel name and is_evalutator to the runtime (1430) (by **Ye Kuang**)
- [Error] Raise an warning when a Taichi matrix have > 32 entries (1401) (by **彭于斌**)
- [llvm] Separate BLS/TLS and refactor loop code generation (1425) (by **Yuanming Hu**)
- [Metal] Use managed storage mode to improve performance (1415) (by **Ye Kuang**)
- [Perf] Support TLS for GlobalTemporaryStmt (1423) (by **Ye Kuang**)
- [Error] Show pretty & intuitive stack traceback when ti.enable_excepthook() used (1405) (by **彭于斌**)
- [error] Instruct user to use static range when matrix accessed with non constant index (1420) (by **彭于斌**)
- [CUDA] Improve random number generator performance (1419) (by **Yuanming Hu**)
- [GUI] [linux] Support mouse wheel event on Linux/X11 (1411) (by **彭于斌**)
- [GUI] Support mouse wheel event on Mac Cocoa (1418) (by **Ye Kuang**)
- [error] Fix wrong error message when using vector as if condition (1417) (by **彭于斌**)
- [bug] Fix test_fibonacci (1414) (by **Ye Kuang**)
- [test] [std] Add matrix SSA violation regression test (1412) (by **彭于斌**)
- [GUI] Support mouse wheel event on Win32 (1382) (by **JYLeeLYJ**)
- [opt] [refactor] Move advanced optimization toggle to "ti.cfg.advanced_optimization" (1403) (by **彭于斌**)
- [Lang] Add ti.static_assert for compile-time assertations (1344) (by **彭于斌**)
- [IR] Block local storage for struct-for's on CUDA (1394) (by **Yuanming Hu**)
- [Docker] Update the Dockerfile to use up-to-date instructions for Ubuntu (1385) (by **Chengchen(Rex) Wang**)
- [llvm] Use LLVM 10 for AppVeyor and GitHub actions (1402) (by **Yuanming Hu**)
- [opt] Flatten if(0) and if(1) (1393) (by **xumingkuan**)
- [cc] Add struct compiler to the experimental C backend (1354) (by **彭于斌**)
- [workflow] Fix PR title checker "fix fatal: bad revision 'master'" in release PR (1399) (by **彭于斌**)

0.6.16

Highlights:
- **Bug fixes**
- Fix compilation crash when there's a cross-offload global atomic operation (1392) (by **xumingkuan**)
- Fix ti.func not capturing closure variables (1380) (by **彭于斌**)
- **CUDA backend**
- Taichi now supports CUDA 11 (1395) (by **Yuanming Hu**)
- **Language and syntax**
- Deprecate x.data_type() and use x.dtype instead (1374) (by **彭于斌**)
- **IR optimization passes**
- Do not flatten if's by default (1372) (by **xumingkuan**)
- **Performance improvements**
- Support TLS and SIMD group reduction for range-for kernels (1358) (by **Ye Kuang**)

Full changelog:
- [Bug] [ir] Fix compilation crash when there's a cross-offload global atomic operation (1392) (by **xumingkuan**)
- [lang] [bug] Fix Matrix.diag (remove unwanted truncation to int) (1397) (by **Yuanming Hu**)
- [ir] Fix ir_printer now that print() supports end (1350) (by **Ye Kuang**)
- [Bug] [lang] Fix ti.func not capturing closure variables (1380) (by **彭于斌**)
- [cli] Use "ti task" for run task (legacy), and "ti run" to run script (1391) (by **彭于斌**)
- [ir] Remove a temporary "fix_block_parents" (1352) (by **xumingkuan**)
- [CUDA] Taichi now supports CUDA 11 (1395) (by **Yuanming Hu**)
- [bug] [refactor] Fix error when ti.init() not called by deprecating Expr.layout_materialized (1347) (by **彭于斌**)
- [refactor] [Lang] Deprecate x.data_type() and use x.dtype instead (1374) (by **彭于斌**)
- [lang] "ti.chain_compare" now can return python-scope constants (1356) (by **彭于斌**)
- [refactor] Move c_quoted into taichi/utils/ (1376) (by **Ye Kuang**)
- [lang] [bug] Add ti.pyfunc for functions that work in both Taichi and Python-scope, fix matrix methods (1338) (by **彭于斌**)
- [bug] Fix master due to compilation error (1375) (by **Ye Kuang**)
- [llvm] Further improve LLVM 10 compatibility by using RTLD_DEEPBIND (1355) (by **彭于斌**)
- [workflow] Fix GitHub workflows (1370) (by **Yuanming Hu**)
- [Opt] Do not flatten if's by default (1372) (by **xumingkuan**)
- [bug] [opt] Fix CFG ignoring local atomics after lower_access (1371) (by **xumingkuan**)
- [misc] [gui] Resolve deprecation warning (img.shape) (1369) (by **Hojun Yoon**)
- [lang] Raise an error when struct-for indices number mismatch (1357) (by **彭于斌**)
- [Perf] [metal] Support TLS and SIMD group reduction for range-for kernels (1358) (by **Ye Kuang**)

0.6.15

Highlights:
- **IPython and other shells**
- Support inline output display in Jupyter GUI (1331) (by **彭于斌**)
- **IR optimization passes**
- Replace "simplify" with "full_simplify" in "Simplified I" (1353) (by **xumingkuan**)

Full changelog:
- [misc] Format the C backend (1364) (by **Taichi Gardener**)
- [misc] Exclude C backend by default to fix Linux builds (1362) (by **Yuanming Hu**)
- [cc] Set up the experimental C language backend (1348) (by **彭于斌**)
- [Opt] Replace "simplify" with "full_simplify" in "Simplified I" (1353) (by **xumingkuan**)
- [doc] Update compilation.rst (1351) (by **Yuanming Hu**)
- [IPython] [gui] Support inline output display in Jupyter GUI (1331) (by **彭于斌**)
- [refactor] [metal] Add a TaichiKernelAttribs struct (1341) (by **Ye Kuang**)

0.6.14

Highlights:
- **Bug fixes**
- Use RTLD_LOCAL to prevent LLVM symbol conflict with GLX (1326) (by **彭于斌**)
- **Documentation**
- Minor fix for global settings (1328) (by **Danni**)
- **GUI**
- Fix issue with triangles not showing up when they are drawn clockwisely (1321) (by **Xudong Feng**)
- **IPython and other shells**
- Make OpenGL kernel print work in IPython & IDLE (1303) (by **彭于斌**)
- Source inspection dispatcher for better IDLE compatibility (1222) (by **彭于斌**)
- **Language and syntax**
- Deprecate x.shape() and x.dim(), use x.shape instead (1318) (by **彭于斌**)
- **Metal backend**
- Add codegen/runtime support for print() (1310) (by **Ye Kuang**)
- **OpenGL backend**
- Basic support for dynamic SNode (1256) (by **彭于斌**)
- **IR optimization passes**
- Dead store and stack-related operation elimination by control-flow graph (1324) (by **xumingkuan**)
- **Performance improvements**
- Thread local storage for range-for reductions on GPUs (1336) (by **Yuanming Hu**)
- **Sparse computation**
- Add ti.activate support (1334) (by **彭于斌**)

Full changelog:
- [Sparse] [lang] Add ti.activate support (1334) (by **彭于斌**)
- [IPython] [opengl] Make OpenGL kernel print work in IPython & IDLE (1303) (by **彭于斌**)
- [linux] Remove glibc2.27 dependency (log2fglibc2.27) (1342) (by **Yuanming Hu**)
- [lang] Return None when parent() exceeds its maximum depth (1319) (by **Ye Kuang**)
- [Perf] Thread local storage for range-for reductions on GPUs (1336) (by **Yuanming Hu**)
- [Opt] Dead store and stack-related operation elimination by control-flow graph (1324) (by **xumingkuan**)
- [Metal] Add codegen/runtime support for print() (1310) (by **Ye Kuang**)
- [Lang] [refactor] Deprecate x.shape() and x.dim(), use x.shape instead (1318) (by **彭于斌**)
- [Doc]Minor fix for global settings (1328) (by **Danni**)
- [lang] Deprecate ti.raw_pow (1330) (by **彭于斌**)
- [OpenGL] [sparse] Basic support for dynamic SNode (1256) (by **彭于斌**)
- [Bug] [linux] [opengl] Use RTLD_LOCAL to prevent LLVM symbol conflict with GLX (1326) (by **彭于斌**)
- [doc] Fix some typos in our document export_results.rst (1312) (by **Xudong Feng**)
- [misc] fix a bug in util.py (1327) (by **Xudong Feng**)
- [doc] Add Taichi THREE to documentation (1309) (by **彭于斌**)
- [GUI] Fix issue with triangles not showing up when they are drawn clockwisely (1321) (by **Xudong Feng**)
- [misc] Fix compilation warning (1320) (by **Ye Kuang**)
- [IPython] Source inspection dispatcher for better IDLE compatibility (1222) (by **彭于斌**)

Page 18 of 23

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.