Skip to content

Releases: taichi-dev/taichi

v0.6.25

09 Aug 15:36
7fec59d
Compare
Choose a tag to compare

Highlights:

  • Bug fixes
    • Fix random side-effect causing SSA violation in ti.Vector (#1631) (by 彭于斌)
  • Documentation
    • Replace fields of xxx by xxx field (#1599) (by Xudong Feng)
    • Replace "tensor" by "field" in documentation (#1633) (by Xudong Feng)
    • Improve type.rst readability (#1618) (by 彭于斌)
  • Examples
    • Add cg_possion.py, a Poisson solver based on conjugate gradients (#1595) (by 彭于斌)
    • Enhance stable_fluid.py with BFECC, RK2, RK3 and Taichi's new syntax (#1617) (by 彭于斌)
  • GUI
    • Support gui.fps_limit and reduce idle power consumption (#1611) (by 彭于斌)
    • Support images with 2 channels (RG) in GUI.set_image (#1624) (by 彭于斌)
    • Support gui.arrow() and gui.arrows() (#1625) (by 彭于斌)
  • Language and syntax
    • Support float and int as aliases for default-precision data types (#1585) (by 彭于斌)
  • Miscellaneous
    • Catch RuntimeError when detecting backends for better compatibility (#1647) (by 彭于斌)
  • IR optimization passes
    • Improve aliasing analysis for SNodes with trailing bits (#1657) (by xumingkuan)
    • Improve the binary ops simplify pass (#1646) (by xumingkuan)
  • Refactor
    • "x.snode()" is deprecated, use "x.snode" instead (#1654) (by 彭于斌)

Full changelog:

  • [bug] [sparse] Fix struct-fors on pointer SNodes (#1662) (by Yuanming Hu)
  • [misc] [linux] Further improve misc/linker.map to prevent Blender segementation fault (#1661) (by 彭于斌)
  • [doc] Re-update documentation on autodiff (#1623) (by 彭于斌)
  • [Opt] Improve aliasing analysis for SNodes with trailing bits (#1657) (by xumingkuan)
  • bgcolor -> background_color in GUI docs (#1660) (by samuela)
  • [Misc] [bug] Catch RuntimeError when detecting backends for better compatibility (#1647) (by 彭于斌)
  • [workflow] Add Mac OS X to Github CI (#1649) (by 彭于斌)
  • [Example] Add cg_possion.py, a Poisson solver based on conjugate gradients (#1595) (by 彭于斌)
  • [Refactor] "x.snode()" is deprecated, use "x.snode" instead (#1654) (by 彭于斌)
  • [GUI] Support gui.fps_limit and reduce idle power consumption (#1611) (by 彭于斌)
  • [GUI] Support images with 2 channels (RG) in GUI.set_image (#1624) (by 彭于斌)
  • [Opt] Improve the binary ops simplify pass (#1646) (by xumingkuan)
  • [benchmark] Fix test_test.py benchmark including '' in filename (#1650) (by 彭于斌)
  • [cc] [workflow] Add C backend to Github CI (#1643) (by 彭于斌)
  • [Doc] Replace fields of xxx by xxx field (#1599) (by Xudong Feng)
  • [cc] Compose ActionRecorder outputs into a single C file for Emscripten (#1629) (by 彭于斌)
  • [error] Better error messages when using wrong type annotations (#1612) (by 彭于斌)
  • [doc] Update instructions for using Stop Motion OBJ with PLY sequences (#1638) (by Justin)
  • [Doc] Replace "tensor" by "field" in documentation (#1633) (by Xudong Feng)
  • [doc] Fix typo in faq.rst (#1636) (by Danni)
  • Fix hyperlink in faq.rst (#1637) (by Danni)
  • [Example] Enhance stable_fluid.py with BFECC, RK2, RK3 and Taichi's new syntax (#1617) (by 彭于斌)
  • [GUI] Support gui.arrow() and gui.arrows() (#1625) (by 彭于斌)
  • [Lang] Support float and int as aliases for default-precision data types (#1585) (by 彭于斌)
  • [Bug] Fix random side-effect causing SSA violation in ti.Vector (#1631) (by 彭于斌)
  • [infra] Support GCC as compiler for Taichi developers (experimental) (#1598) (by 彭于斌)
  • [Doc] Improve type.rst readability (#1618) (by 彭于斌)
  • [gui] [bug] Fix hex_to_rgb (#1630) (by Yuanming Hu)
  • [async] Clone offloaded tasks lazily by maintaining a cached template task (#1619) (by Ye Kuang)

v0.6.24

01 Aug 11:17
0dc7ed7
Compare
Choose a tag to compare

Highlights:

  • Bug fixes
    • Fix compiler error when flattening if(0) and if(1) (#1613) (by xumingkuan)
  • Documentation
    • Update documentations on autodiff (#1550) (by 彭于斌)
  • Error messages
    • Improve error message when using non-global variables in global operations (#1606) (by 彭于斌)
  • Examples
    • Add comet.py and fix to_numpy() on sparse matrix fields (#1583) (by 彭于斌)
  • GUI
    • Support gui.lines for batched line drawing (#1603) (by 彭于斌)
  • Infrastructure
    • Add "ti.profiler" (PythonProfiler) for intuitive Python-scope profiling (#1493) (by 彭于斌)
  • IPython and other shells
    • 'ti.sync()' is no longer needed for 'print()' in OpenGL and Metal backend (#1546) (by 彭于斌)

Full changelog:

  • [misc] Revert #1493 (#1622) (by Taichi Gardener)
  • [misc] Revert #1550 (#1621) (by Taichi Gardener)
  • [Doc] [autodiff] Update documentations on autodiff (#1550) (by 彭于斌)
  • [Example] Add comet.py and fix to_numpy() on sparse matrix fields (#1583) (by 彭于斌)
  • [misc] [refactor] 'ti.vec' and 'ti.veci' is deprecated, directly use a tuple in GUI system instead (#1605) (by 彭于斌)
  • [doc] Workflow for writing a Python test for #1462 (#1475) (by 彭于斌)
  • [Infra] Add "ti.profiler" (PythonProfiler) for intuitive Python-scope profiling (#1493) (by 彭于斌)
  • [test] [refactor] Add @ti.test decorators to unify testing infrastructure (#1462) (by 彭于斌)
  • [async] Compute offloaded IR hash once and cache it (#1608) (by Ye Kuang)
  • [Bug] [opt] Fix compiler error when flattening if(0) and if(1) (#1613) (by xumingkuan)
  • [IPython] 'ti.sync()' is no longer needed for 'print()' in OpenGL and Metal backend (#1546) (by 彭于斌)
  • [Error] Improve error message when using non-global variables in global operations (#1606) (by 彭于斌)
  • [GUI] Support gui.lines for batched line drawing (#1603) (by 彭于斌)

v0.6.23

29 Jul 13:40
2bfbca8
Compare
Choose a tag to compare

Highlights:

  • OpenGL backend
    • Support ti.block_dim as block size hint (#1602) (by 彭于斌)
    • Support TLS to improve reduction performance (#1574) (by 彭于斌)

Full changelog:

  • [OpenGL] [perf] Support ti.block_dim as block size hint (#1602) (by 彭于斌)
  • [opengl] [refactor] Fix TLS not working and refactor ParallelSize for grid-stride-loop (#1600) (by 彭于斌)
  • [async] Demote struct-fors in async compilation (#1593) (by Ye Kuang)
  • [ir] Make sure "StmtFieldManager" to be correct if we modify some fields after the ctor (#1587) (by Xuanda Yang)
  • [ipython] [refactor] Misc tweaks to make #1308 easier to review (#1584) (by 彭于斌)
  • [OpenGL] [perf] Support TLS to improve reduction performance (#1574) (by 彭于斌)

v0.6.22

27 Jul 01:08
f528377
Compare
Choose a tag to compare

Highlights:

  • Language and syntax
    • Support SNode trailing bits (#1558) (by Yuanming Hu)
  • OpenGL backend
    • Support 'ti.asm' to insert embed GLSL codes (experimental) (#1573) (by 彭于斌)
  • Performance improvements
    • Improve CUDA runtime performance with warp-level primitives (#1571) (by Yuanming Hu)

Full changelog:

  • [cuda] [bug] Fix a CUDA codegen bug (#1592) (by Yuanming Hu)
  • [test] Fix issues in "bls_particle_grid" tests caused by float-point errors (#1590) (by Yuanming Hu)
  • [llvm] Fix LLVM runtime sparse computation issues (#1582) (by Yuanming Hu)
  • [OpenGL] Support 'ti.asm' to insert embed GLSL codes (experimental) (#1573) (by 彭于斌)
  • [example] Upgrade mpm88 to new syntax (#1581) (by 彭于斌)
  • [gui] [error] [linux] Better error message when X display not available (#1575) (by 彭于斌)
  • [test] Skip mpm88 async on Appveyor (#1566) (by Ye Kuang)
  • [Perf] Improve CUDA runtime performance with warp-level primitives (#1571) (by Yuanming Hu)
  • [async] Fuse tasks only if they are either from the same kernel or arg-less (#1530) (by Ye Kuang)
  • [cc] Support ActionRecorder in C backend (#1559) (by 彭于斌)
  • [metal] Plug in the SNodeRep structs into codegen (#1480) (by Ye Kuang)
  • [Lang] Support SNode trailing bits (#1558) (by Yuanming Hu)

v0.6.21

22 Jul 15:02
2da97b1
Compare
Choose a tag to compare

Highlights:

  • CUDA backend
    • Upgrade to PTX 6.3 and add a few CUDA intrinsics (#1548) (by Yuanming Hu)
  • Performance improvements
    • Improve dynamic listgen and access performance (#1547) (by Yuanming Hu)
  • Refactor
    • 'ti.Matrix(n, m, dt, shape)' is deprecated, use 'ti.Matrix.var(n, m, dt, shape)' instead (#1531) (by 彭于斌)

Full changelog:

  • [cc] The C backend is now capable of running mpm128 (#1553) (by 彭于斌)
  • [bug] Update mpm_lagrangian_force and fix Matrix constructor (#1545) (by Ye Kuang)
  • [opengl] [refactor] KernelParallelAttribs -> ParallelSize + virtual methods to make a way for grid-stride-loop (#1540) (by 彭于斌)
  • [opengl] Fix reversed nested for loops error on OpenGL (#1554) (by 彭于斌)
  • [Perf] Improve dynamic listgen and access performance (#1547) (by Yuanming Hu)
  • [cuda] [llvm] Module broken is TI_WARN instead of TI_ERROR (#1557) (by 彭于斌)
  • [linux] Fix LLVM symbol leakage in release mode by using RTLD_GLOBAL (#1544) (by 彭于斌)
  • [CUDA] Upgrade to PTX 6.3 and add a few CUDA intrinsics (#1548) (by Yuanming Hu)
  • [ir] Move struct-for demotion pass after offload pass (#1541) (by Ye Kuang)
  • [cc] Support "range for" and "while" statement on C backend (#1536) (by 彭于斌)
  • [refactor] Better import order by using __all__ (#1510) (by 彭于斌)
  • [misc] Add is_path_all_dense to SNode (#1538) (by Ye Kuang)
  • [Refactor] 'ti.Matrix(n, m, dt, shape)' is deprecated, use 'ti.Matrix.var(n, m, dt, shape)' instead (#1531) (by 彭于斌)
  • [lang] [refactor] Setup a multipass AST transformer (#1467) (by 彭于斌)

v0.6.20

19 Jul 02:36
cc621a0
Compare
Choose a tag to compare

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)

v0.6.18

11 Jul 06:39
3584548
Compare
Choose a tag to compare

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 彭于斌)

v0.6.17

08 Jul 09:39
90336fa
Compare
Choose a tag to compare

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 彭于斌)

v0.6.16

04 Jul 13:13
9c41567
Compare
Choose a tag to compare

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)

v0.6.15

01 Jul 06:16
ee0281f
Compare
Choose a tag to compare

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)