taichi

Productive, portable, and performant GPU programming in Python.

APACHE-2.0 License

Downloads
32.8K
Stars
24.7K
Committers
222

Bot releases are visible (Hide)

taichi - v0.6.23

Published by FantasyVR about 4 years ago

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 彭于斌)
taichi - v0.6.22

Published by yuanming-hu about 4 years ago

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)
taichi - v0.6.21

Published by FantasyVR about 4 years ago

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 彭于斌)
taichi - v0.6.20

Published by yuanming-hu over 4 years ago

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)
taichi - v0.6.18

Published by FantasyVR over 4 years ago

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 彭于斌)
taichi - v0.6.17

Published by FantasyVR over 4 years ago

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 彭于斌)
taichi - v0.6.16

Published by FantasyVR over 4 years ago

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)
taichi - v0.6.15

Published by FantasyVR over 4 years ago

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)
taichi - v0.6.14

Published by yuanming-hu over 4 years ago

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 ([email protected]) (#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 彭于斌)
taichi - v0.6.13

Published by FantasyVR over 4 years ago

Highlights:

  • Bug fixes
    • Fix compilation crash when there is a container statement after an unconditional continue (#1299) (by xumingkuan)
  • CUDA backend
    • Fix on-demand memory pool on certain GPUs (#1314) (by Yuanming Hu)
  • Intermediate representation
    • Replace "OffsetAndExtractBitsStmt" with "BitExtractStmt" (#1306) (by xumingkuan)
  • Language and syntax
    • Support sep and end in print() (#1311) (by Ye Kuang)
    • Support Python-scope scalar functions / matrix operations, e.g. ti.sqrt(2) (#1188) (by 彭于斌)
  • Miscellaneous
    • Postpone backend detection to prevent possible compatibility issues (#1273) (by 彭于斌)
  • IR optimization passes
    • Move unreachable code elimination to a separate pass (#1315) (by xumingkuan)
    • Constant folding for BitExtractStmt (#1307) (by xumingkuan)
    • Remove exceptions from lower_access pass (#1292) (by Xuanda Yang)
  • Performance improvements
    • Thread local storage for range-for reductions on CPUs (#1296) (by Yuanming Hu)
  • Standard library
    • Add ti.rsqrt() and ti.Vector.norm_inv() (#1293) (by 彭于斌)

Full changelog:

  • [cuda] Support numpy and torch tensors with zeros in shapes (e.g., (5, 0, 5)) (#1305) (by Yuanming Hu)
  • [refactor] Rename the file created in #1315 (#1316) (by xumingkuan)
  • [Opt] [refactor] Move unreachable code elimination to a separate pass (#1315) (by xumingkuan)
  • [CUDA] Fix on-demand memory pool on certain GPUs (#1314) (by Yuanming Hu)
  • [Opt] Constant folding for BitExtractStmt (#1307) (by xumingkuan)
  • [lang] [test] Improve code coverage in SNode (#1214) (by 彭于斌)
  • [Lang] Support sep and end in print() (#1311) (by Ye Kuang)
  • [metal] Add kernel side util to support print() (#1301) (by Ye Kuang)
  • [Misc] Postpone backend detection to prevent possible compatibility issues (#1273) (by 彭于斌)
  • [IR] [refactor] Replace "OffsetAndExtractBitsStmt" with "BitExtractStmt" (#1306) (by xumingkuan)
  • [Bug] [opt] Fix compilation crash when there is a container statement after an unconditional continue (#1299) (by xumingkuan)
  • [ir] [refactor] Simplify the "re_id" pass (#1304) (by xumingkuan)
  • [Perf] Thread local storage for range-for reductions on CPUs (#1296) (by Yuanming Hu)
  • [bug] [std] Fix matrix print shape in Taichi-scope (#1300) (by 彭于斌)
  • [metal] [autodiff] Fix StackLoadTopStmt codegen in Metal (#1298) (by Ye Kuang)
  • [Lang] [refactor] Support Python-scope scalar functions / matrix operations, e.g. ti.sqrt(2) (#1188) (by 彭于斌)
  • [Std] [lang] Add ti.rsqrt() and ti.Vector.norm_inv() (#1293) (by 彭于斌)
  • [Opt] [ir] [refactor] Remove exceptions from lower_access pass (#1292) (by Xuanda Yang)
  • [misc] Show LLVM version on startup (#1294) (by FantasyVR)
taichi - v0.6.12

Published by FantasyVR over 4 years ago

Highlights:

  • Automatic differentiation
    • Refactor AutoDiff system and support for loops that carry mutable states (#1285) (by Yuanming Hu)
  • Bug fixes
    • Fix a bug causing gradients to be NaNs (#1284) (by xumingkuan)
  • Command line interface
    • Toggle torch import by env var: TI_ENABLE_TORCH (#1268) (by 彭于斌)
  • CUDA backend
    • Support "ti.cache_read_only" (#1276) (by Yuanming Hu)
  • Examples
    • Improve examples/odop_solar.py visual & comments (#1253) (by 彭于斌)
  • GUI
    • Fix "gui.set_image" not accept multi-channel scalar tensors (#1264) (by 彭于斌)
  • Metal backend
    • Add AD stack to support the local mutables when using AutoDiff (#1257) (by Ye Kuang)
  • IR optimization passes
    • Remove exceptions from demote_atomics pass (#1272) (by Xuanda Yang)
    • Store-to-load forwarding with Control-flow graph (#1248) (by xumingkuan)
    • Remove exceptions from DIE pass (#1262) (by Xuanda Yang)

Full changelog:

  • [bug] Fix stochastic failure of test_loop_grad on Windows (#1291) (by Yuanming Hu)
  • [AutoDiff] Refactor AutoDiff system and support for loops that carry mutable states (#1285) (by Yuanming Hu)
  • [Bug] [opt] Fix a bug causing gradients to be NaNs (#1284) (by xumingkuan)
  • [opt] Fix CFGNode::store_to_load_forwarding data type (#1283) (by Yuanming Hu)
  • [Opt] [ir] [refactor] Remove exceptions from demote_atomics pass (#1272) (by Xuanda Yang)
  • [Example] Improve examples/odop_solar.py visual & comments (#1253) (by 彭于斌)
  • [lang] [test] Improve code coverage in Matrix (#1275) (by 彭于斌)
  • [opt] Do not consider each GlobalPtrStmt as a data source in store forwarding (#1279) (by xumingkuan)
  • [CUDA] Support "ti.cache_read_only" (#1276) (by Yuanming Hu)
  • [ir] Make pass names appear in correct positions when print_ir=True (#1277) (by xumingkuan)
  • [cuda] [bug] Fix CUDA runtime crash (#1271) (by Yuanming Hu)
  • [CLI] Toggle torch import by env var: TI_ENABLE_TORCH (#1268) (by 彭于斌)
  • [Opt] Store-to-load forwarding with Control-flow graph (#1248) (by xumingkuan)
  • [perf] [opt] Better weaken_access pass for sparse cases (#1270) (by Yuanming Hu)
  • [Opt] [ir] [refactor] Remove exceptions from DIE pass (#1262) (by Xuanda Yang)
  • [Metal] Add AD stack to support the local mutables when using AutoDiff (#1257) (by Ye Kuang)
  • [GUI] [bug] Fix "gui.set_image" not accept multi-channel scalar tensors (#1264) (by 彭于斌)
taichi - v0.6.11

Published by FantasyVR over 4 years ago

Highlights:

  • Bug fixes
    • Fix OffsetAndExtractBitsStmt optimization and improve documentation on virtual/physical indices (#1259) (by Yuanming Hu)
    • Fix image I/O for channels = 1 and improve test coverage (unrevert) (#1242) (by 彭于斌)
    • Fix tuple assignment behavior in Taichi-scope (#1247) (by 彭于斌)
  • Documentation
    • Standardize versioning and release workflow (#1220) (by Yuanming Hu)
  • Language and syntax
    • Support vector unpacking (e.g., "a, b = ti.Vector([1, 2])") (#1252) (by 彭于斌)
  • IR optimization passes
    • Remove exceptions from IR check_out_of_bound and constant_fold (#1251) (by Xuanda Yang)

Full changelog:

  • [workflow] Improve PR title checker for the release tag (#1244) (by 彭于斌)
  • [Lang] Support vector unpacking (e.g., "a, b = ti.Vector([1, 2])") (#1252) (by 彭于斌)
  • [perf] Refactor kernel profiler (#1261) (by Yuanming Hu)
  • [Bug] [opt] [doc] Fix OffsetAndExtractBitsStmt optimization and improve documentation on virtual/physical indices (#1259) (by Yuanming Hu)
  • [perf] Improve dynamic SNode performance (stage 3) (#1238) (by xumingkuan)
  • [misc] Add auto-profiling to IR passes (#1255) (by xumingkuan)
  • [doc] Remove changelog link from readme (#1209) (by Chengchen(Rex) Wang)
  • [Opt] [ir] [refactor] Remove exceptions from IR check_out_of_bound and constant_fold (#1251) (by Xuanda Yang)
  • [Bug] [misc] Fix image I/O for channels = 1 and improve test coverage (unrevert) (#1242) (by 彭于斌)
  • [Bug] [lang] Fix tuple assignment behavior in Taichi-scope (#1247) (by 彭于斌)
  • [ir] Set root block kernel after cloning (#1245) (by Ye Kuang)
  • [cli] Add "ti dist" command to test in release mode (#1227) (by 彭于斌)
  • [Doc] Standardize versioning and release workflow (#1220) (by Yuanming Hu)
  • [test] Add coverage threshold to make codecov not fail so easily (#1246) (by 彭于斌)
  • [bug] [lang] Use functools.wraps for non-classfunc too (#1233) (by 彭于斌)
taichi - v0.6.9

Published by yuanming-hu over 4 years ago

Highlights:

  • GUI
    • Support modifier keys like Shift, Ctrl, etc (#1189) (by Ye Kuang)
  • Intermediate representation
    • Move "lower_access" to after "offload" (#1194) (by xumingkuan)
  • Language and syntax
    • ti.Matrix initializers (#1107) (by Peiyuan Liao)
  • LLVM backend (CPU and CUDA)
    • Support LLVM 10 (#1200) (by Yuanming Hu)
  • Mac OS X
    • Support modifier keys like Shift, Ctrl, etc (#1189) (by Ye Kuang)
  • OpenGL backend
    • support print 1 scalar in OpenGL kernels (#1166) (by 彭于斌)

Full changelog:

  • [test] Ensure CUDA tests use < 1 GB memory (#1213) (by Yuanming Hu)
  • [cuda] Add print_kernel_nvptx to CompileConfig (#1211) (by Yuanming Hu)
  • [llvm] [cuda] Improve LLVM 8 compatibility (#1210) (by Yuanming Hu)
  • [bug] Fix matrix operations to use numpy only in Python scope (#1208) (by Ye Kuang)
  • [test] No warning on deprecation test & add test_maxmin (#1207) (by 彭于斌)
  • [doc] [workflow] Update hello and matrix section of the docs and add a workflow to check doc builds (#1157) (by Chengchen(Rex) Wang)
  • [llvm] [opt] CSE for LoopIndexStmt (#1203) (by Yuanming Hu)
  • [LLVM] Support LLVM 10 (#1200) (by Yuanming Hu)
  • [test] Setup python coverage test (#1196) (by 彭于斌)
  • [IR] Move "lower_access" to after "offload" (#1194) (by xumingkuan)
  • [misc] Remove usage of deprecated functions in benchmarks (#1193) (by Yuanming Hu)
  • [test] Let pytest-rerunfailures pytest-xdist to be hard dependences (#1187) (by 彭于斌)
  • [GUI] [Mac] Support modifier keys like Shift, Ctrl, etc (#1189) (by Ye Kuang)
  • [OpenGL] support print 1 scalar in OpenGL kernels (#1166) (by 彭于斌)
  • [Lang] [refactor] ti.Matrix initializers (#1107) (by Peiyuan Liao)
taichi - v0.6.8

Published by yuanming-hu over 4 years ago

Highlights:

  • Bug fixes
    • Fix ti.sqrt/exp/log error with an integral operand (#1179) (by xumingkuan)
    • Fix AMD+OpenGL to_numpy behavior (thank @Eydcao for testing) (#1160) (by 彭于斌)
    • Fix keyboard event loss problem on specific Win OS version (#1162) (by JYLeeLYJ)
  • Command line interface
    • Add "ti changelog" command to print changelog of current version (#1153) (by 彭于斌)
    • Improve the "ti" command (#1085) (by Chengchen(Rex) Wang)
    • Support running examples with python file extension (#1098) (by Xuanda Yang)
  • Documentation
    • Add export_result section on how to export images and videos (#1151) (by Xudong Feng)
  • GUI
    • Support ti.GUI.EXIT on Mac (#1171) (by Ye Kuang)
    • Add ti.GUI.EXIT event to close a window (#1152) (by 彭于斌)
    • Use Taichi kernels instead of NumPy operations to reduce GUI.set_image overhead (#1132) (by 彭于斌)
  • Intermediate representation
    • Fix bound checks with coordinate offsets (#1143) (by Xuanda Yang)
    • Add coordinate offset argument for ti.var/Vector/Matrix (#1102) (by Xudong Feng)
  • Language and syntax
    • Support Python-scope matrix/vector operations (#1051) (by Chengchen(Rex) Wang)
    • Fix bound checks with coordinate offsets (#1143) (by Xuanda Yang)
    • shows an error if not called from correct Taichi/Python-scope (#1121) (by 彭于斌)
    • support v.x/v.y/v.z/v.w for easy Vector subscript (#1133) (by 彭于斌)
    • Add coordinate offset argument for ti.var/Vector/Matrix (#1102) (by Xudong Feng)
    • Add Matrix.dim()/shape()/data_type() support (#1086) (by 彭于斌)
  • IR optimization passes
    • Improve strength reduction optimization for "pow" (#1170) (by xumingkuan)
  • Performance improvements
    • Improve dynamic SNode performance (#1182) (by Yuanming Hu)

Full changelog:

  • [Perf] Improve dynamic SNode performance (#1182) (by Yuanming Hu)
  • [Bug] [ir] Fix ti.sqrt/exp/log error with an integral operand (#1179) (by xumingkuan)
  • [Opt] Improve strength reduction optimization for "pow" (#1170) (by xumingkuan)
  • [cli] Sort video input frames (#1177) (by Yuanming Hu)
  • [Bug] [opengl] Fix AMD+OpenGL to_numpy behavior (thank @Eydcao for testing) (#1160) (by 彭于斌)
  • [misc] Add some links to README.md (#1165) (by 彭于斌)
  • [Doc] Add export_result section on how to export images and videos (#1151) (by Xudong Feng)
  • [refactor] Move log2int into arithmatic.h (#1155) (by Ye Kuang)
  • [GUI] Support ti.GUI.EXIT on Mac (#1171) (by Ye Kuang)
  • [misc] Generate changelog before trying to run build.py. (#1169) (by Chengchen(Rex) Wang)
  • [GUI] Add ti.GUI.EXIT event to close a window (#1152) (by 彭于斌)
  • [gui] [Bug] Fix keyboard event loss problem on specific Win OS version (#1162) (by JYLeeLYJ)
  • [GUI] Use Taichi kernels instead of NumPy operations to reduce GUI.set_image overhead (#1132) (by 彭于斌)
  • [doc] Better coordinate offset documentation (#1148) (by 彭于斌)
  • [mac] [misc] Fix Travis CI: no , use <unistd.h> instead (#1161) (by 彭于斌)
  • [example] [refactor] Rename some old examples to avoid confusing people (#1149) (by 彭于斌)
  • [CLI] Add "ti changelog" command to print changelog of current version (#1153) (by 彭于斌)
  • [llvm] Cache llvm runtime bitcode to reduce start up time in dev mode (#1144) (by 彭于斌)
  • [Lang] Support Python-scope matrix/vector operations (#1051) (by Chengchen(Rex) Wang)
  • [metal] Add APIs to list all the available Metal devices (#1139) (by Ye Kuang)
  • [Lang] [IR] Fix bound checks with coordinate offsets (#1143) (by Xuanda Yang)
  • Fix "unclosed file" in "ti regression" (#1147) (by xumingkuan)
  • [bug] [gui] Use lower case for Win32 key events to unify with X11 (#1140) (by 彭于斌)
  • [opt] [refactor] [bug] Avoid throwing exceptions in whole_kernel_cse and fix a bug (#1131) (by xumingkuan)
  • [Lang] [refactor] shows an error if not called from correct Taichi/Python-scope (#1121) (by 彭于斌)
  • [Lang] support v.x/v.y/v.z/v.w for easy Vector subscript (#1133) (by 彭于斌)
  • [test] [refactor] Fix test_element_wise.py long time (#1120) (by 彭于斌)
  • [misc] tell users to check troubleshooting page when error occurred (#1127) (by 彭于斌)
  • [misc] Update links in README.md (#1129) (by Zlatan Vasović)
  • [refactor] [metal] Rename some variables from args to ctx (#1111) (by Ye Kuang)
  • [ir] [refactor] Add constructor TypedConstant(DataType, T) (#1104) (by xumingkuan)
  • [misc] [test] Fix matrix initialization (#1114) (by Yuanming Hu)
  • [CLI] [refactor] Improve the "ti" command (#1085) (by Chengchen(Rex) Wang)
  • [Lang] [IR] Add coordinate offset argument for ti.var/Vector/Matrix (#1102) (by Xudong Feng)
  • [Lang] Add Matrix.dim()/shape()/data_type() support (#1086) (by 彭于斌)
  • [doc] Add 64-bit Python troubleshooting (#1101) (by 彭于斌)
  • [gui] Fix memory leak as circles were not cleared (#1112) (by Ye Kuang)
  • [opt] Add a DelayedIRModifier class (#1103) (by xumingkuan)
  • [opt] Improve the whole kernel CSE pass (#1082) (by xumingkuan)
  • [CLI] [example] Support running examples with python file extension (#1098) (by Xuanda Yang)
taichi - v0.6.7

Published by yuanming-hu over 4 years ago

Highlights:

  • GUI
    • Support drawing text on canvas (#1070) (by 彭于斌)
  • Language and syntax
    • Standardize math API (stage 1) (#1091) (by 彭于斌)
    • ti.cross now supports 2D vectors (#1068) (by Yadi Cao)
    • deprecate "as_vector=True" (#1046) (by 彭于斌)
    • Add any()/all() functions for Matrix, move casting ops to common_ops (#1064) (by Kenneth Lozes)
    • "print()" now support strings and matrices/vectors (#1038) (by 彭于斌)
  • IR optimization passes
    • Build a control-flow graph for optimization (#932) (by xumingkuan)
    • Add strength reduction optimizations (#1065) (by xumingkuan)
    • Avoid throwing exceptions in alg_simp and let it support more types (#1060) (by xumingkuan)

Full changelog:

  • [misc] Set gdb trigger to off by default (#1093) (by Yuanming Hu)
  • [test] [refactor] Deprecate ti.layout in test cases (#1092) (by Chengchen(Rex) Wang)
  • [Lang] [refactor] Standardize math API (stage 1) (#1091) (by 彭于斌)
  • [lang] [refactor] Move atomic operations/augassign to ops.py (#1062) (by 彭于斌)
  • [GUI] Support drawing text on canvas (#1070) (by 彭于斌)
  • [cuda] [test] Improve portability and remove GC tests on CUDA for now (#1090) (by Yuanming Hu)
  • [bug] [ir] Fix Block::replace_with segment faults when stmts.size() == 0 (#1072) (by 彭于斌)
  • [bug] [test] Fix CUDA segmentation fault when printing more than 32 entries (#1089) (by 彭于斌)
  • [Opt] Build a control-flow graph for optimization (#932) (by xumingkuan)
  • [llvm] [sparse] Fix a memory leak bug in GC's free list on CPU (#1079) (by Ye Kuang)
  • [misc] Add a script to add copyright notices (#1031) (by Leedehai)
  • [opengl] Make the comparison result -1 for true (#1080) (by 彭于斌)
  • [misc] Fix import warnings when using collections module (#1084) (by Ye Kuang)
  • [metal] Make the comparison result -1 for true (#1078) (by Ye Kuang)
  • [Lang] ti.cross now supports 2D vectors (#1068) (by Yadi Cao)
  • [misc] Improve Windows core loading message (#1075) (by Yuanming Hu)
  • [doc] Document TaichiCon (#1052) (by Yuanming Hu)
  • [doc] Fix sample code format (#1073) (by Yuanming Hu)
  • [Lang][refactor] deprecate "as_vector=True" (#1046) (by 彭于斌)
  • [doc] Emphasize some ideas on how to communicate effectively (#1061) (by Ye Kuang)
  • [Opt] Add strength reduction optimizations (#1065) (by xumingkuan)
  • [Lang] Add any()/all() functions for Matrix, move casting ops to common_ops (#1064) (by Kenneth Lozes)
  • [refactor] [ir] IR system refactorings (#1058) (by Xuanda Yang)
  • [lang] [refactor] Move logical operations to ops.py (#1054) (by 彭于斌)
  • [Opt] [refactor] Avoid throwing exceptions in alg_simp and let it support more types (#1060) (by xumingkuan)
  • [Lang][ir] "print()" now support strings and matrices/vectors (#1038) (by 彭于斌)
  • [metal] Remove global constant def section (#1056) (by Ye Kuang)
taichi - v0.6.6

Published by yuanming-hu over 4 years ago

Highlights:

  • Command line interface
    • Add "ti example" command (#1010) (by Rex)
  • Language and syntax
    • Support template arguments for ti.func (#1043) (by Kenneth Lozes)
    • Support passing numpy arrays to ti.Matrix constructor (#1044) (by Ye Kuang)
    • "print" now support multiple scalar arguments (#1029) (by 彭于斌)
  • Metal backend
    • Experimental support for dynamic SNode (#1039) (by Ye Kuang)

Full changelog:

  • [release] v0.6.6 (by Yuanming Hu)
  • [Metal] [sparse] Experimental support for dynamic SNode (#1039) (by Ye Kuang)
  • [workflow] Test against multiple python versions (#1048) (by 彭于斌)
  • [Lang] Support template arguments for ti.func (#1043) (by Kenneth Lozes)
  • [workflow] Not to run code format check when @taichi-gardener is on (#1047) (by 彭于斌)
  • [ir] [refactor] Deprecate loop_var (#1032) (by xumingkuan)
  • [Lang] Support passing numpy arrays to ti.Matrix constructor (#1044) (by Ye Kuang)
  • [doc] Use "build from source" instead of "build from scratch" (#1040) (by Rex)
  • [ir] [refactor] Remove super-word level vectorization (#1041) (by Yuanming Hu)
  • [refactor] Remove the global begin_stmt and end_stmt (#1034) (by Ye Kuang)
  • [workflow] Trigger format server when @taichi-gardener is requested for review (#1026) (by 彭于斌)
  • [workflow] Use GitHub Actions as Linux (cpu only) CI (#1023) (by 彭于斌)
  • [doc] Fix a typo in snode.rst (#1037) (by Danni)
  • [metal] Initialize root ListManager's data only if there is sparse SNode (#1028) (by Ye Kuang)
  • [Lang][ir] "print" now support multiple scalar arguments (#1029) (by 彭于斌)
  • [CLI] Add "ti example" command (#1010) (by Rex)
  • [revert] [workflow] workflows/stale.yml to detect stale issues and PRs (#1035) (by Yuanming Hu)
  • [metal] Fix SNode off-by-one problem (#986) (by Ye Kuang)
  • [doc] Improve dev_install (#1030) (by Yadi Cao)
  • [doc] Fix order of commands in dev_install (#1033) (by Linwei Shang)
  • [refactor] Refactor result buffer to allow return values and error codes coexist (#1025) (by Yuanming Hu)
  • [refactor] [ir] Deprecate the unused OffloadedResult (#1027) (by Ye Kuang)
  • [test] [sparse] Add a test case for bitmasked (#1022) (by Ye Kuang)
  • [refactor] Add a always_false class trait (#1019) (by Ye Kuang)
  • [opengl] use static gtmp buffer size to lower overhead (#1014) (by 彭于斌)
  • [workflow] Add workflows/stale.yml to detect stale issues and PRs (#1020) (by 彭于斌)
  • [misc] Remove debug info in release mode (#1021) (by Yuanming Hu)
  • [benchmark] Upgrade to Time Performance Regression Test (TPRT) (#1002) (by 彭于斌)
  • [misc] Check code format using GitHub Actions/Workflows (#957) (by 彭于斌)
taichi - v0.6.5

Published by yuanming-hu over 4 years ago

Highlights:

  • GUI, Mac OS X
    • Fix bug due to View class name conflict (#1012) (by Ye Kuang)
  • Intermediate representation
    • Add an IR cloning pass (#991) (by xumingkuan)
    • Convert loop_var into LoopIndexStmt (#953) (by xumingkuan)
  • Language and syntax
    • Improve error message for Matrix/Vector accessors (#1013) (by Ye Kuang)
    • Unify SNode and Tensor meta data accessor in both Taichi&Python-scope (#971) (by 彭于斌)

Full changelog:

  • [release] v0.6.5 (by Yuanming Hu)
  • [doc] Update install.rst and Miscellaneous (#1009) (by Yuanming Hu)
  • [Lang] Improve error message for Matrix/Vector accessors (#1013) (by Ye Kuang)
  • [doc] Minor improvements on basic concepts (#997) (by Xiao Zhai)
  • [Mac] [GUI] Fix bug due to View class name conflict (#1012) (by Ye Kuang)
  • [Example] Make cornell box more authentic (#1006) (by Ye Kuang)
  • [opengl] Fix unwanted "used.int64_t = true" in KernelReturnStmt (#1003) (by 彭于斌)
  • [opengl][refactor] refactor stuff into one "SnodeInfo" for better furture sparse support (#993) (by 彭于斌)
  • [refactor][Lang] Unify SNode and Tensor meta data accessor in both Taichi&Python-scope (#971) (by 彭于斌)
  • [gui] Use np.clip(_, 0, 1) to fix win display error (#1005) (by 彭于斌)
  • [doc] Update basic concepts (#996) (by Yuanming Hu)
  • [doc] Document list generation (#990) (by Yuanming Hu)
  • [async] Optimization stage 1 (#994) (by Yuanming Hu)
  • [doc] Update utilities.rst (#989) (by Yuanming Hu)
  • [benchmark] Upgrade "ti benchmark" to use no net repo (#981) (by 彭于斌)
  • [opengl][refactor] RangeSizeEvaluator -> KernelParallelAttrib to store more infomation (#985) (by 彭于斌)
  • [IR] Add an IR cloning pass (#991) (by xumingkuan)
  • [doc] Add install.rst for installation troubleshooting (#980) (by 彭于斌)
  • [refactor] Rearrange taichi/common and taichi/util. taichi/core is removed. (#979) (by Yuanming Hu)
  • [ir] [refactor] Remove operand_bitmap from Stmt (#987) (by Yuanming Hu)
  • [doc] Update the "contributing" chapter (#978) (by Yuanming Hu)
  • [IR][refactor] Convert loop_var into LoopIndexStmt (#953) (by xumingkuan)
  • [doc] Fix missing language fields in code-blocks (#983) (by Xuanda Yang)
taichi - v0.6.4

Published by yuanming-hu over 4 years ago

Highlights:

  • Bug fixes
    • Fix floordiv overflow when lhs * rhs is large (#970) (by 彭于斌)
  • Language and syntax
    • Refactor SNode and support coordinate offsets (#945) (by Yuanming Hu)
  • Metal backend
    • Skip allocating Runtime::ListManager if no sparse SNode is used (#976) (by Ye Kuang)

Full changelog:

  • [release] v0.6.4 (by Yuanming Hu)
  • [doc] Minor updates in hello.rst (#963) (by Yuanming Hu)
  • [doc] Improve hello.rst (#972) (by Xiao Zhai)
  • [misc] Add a link to taichi_elements in README.md (#974) (by 彭于斌)
  • [Bug] [opengl] [llvm] [metal] Fix floordiv overflow when lhs * rhs is large (#970) (by 彭于斌)
  • [test] Size Performance Regression Tests (SPRT) (#959) (by 彭于斌)
  • [Metal] Skip allocating Runtime::ListManager if no sparse SNode is used (#976) (by Ye Kuang)
  • [cuda] Improve kernel return value performance when unified memory is available (#965) (by Yuanming Hu)
  • [doc] Update syntax.rst and related sections (#967) (by Yuanming Hu)
  • [opengl] add TI_WITH_OPENGL env var to disable OpenGL (#962) (by 彭于斌)
  • [opt] [cuda] Fix constant folding in multithreaded CUDA applications (#954) (by Yuanming Hu)
  • [ir][refactor] Avoid throwing exception in replace_statements_with (#968) (by xumingkuan)
  • [opengl] Use compile_to_offloads for IR lowering (#951) (by 彭于斌)
  • [Doc] fix typo in syntax_sugars.po (#960) (by Danni)
  • [refactor][ir] Simplify ir.h to reduce compile-time (#934) (by 彭于斌)
  • [lang] [refactor] deprecate @boardcast_if_scalar, all use @binary and @unary (#943) (by 彭于斌)
  • [doc] Improve hello.rst (#955) (by Yuanming Hu)
  • [metal] Set labels on the command buffer/encoder (#950) (by Ye Kuang)
  • [ir] Remove BasicStmtVisitor::current_struct_for (#952) (by xumingkuan)
  • [misc] README.md use shields.io to show latest release (#947) (by 彭于斌)
  • [Lang][IR][refactor] Refactor SNode and support coordinate offsets (#945) (by Yuanming Hu)
taichi - v0.6.3

Published by archibate over 4 years ago

Highlights:

  • Documentation
    • Add documentions for layout (#900) (by 彭于斌)
  • Examples
    • Add waterwave.py (#792) (by 彭于斌)
  • Intermediate representation
    • Use JIT compilation/evaluation for systematic constant folding (#839) (by 彭于斌)
    • Kernel scalar return support (ArgStoreStmt -> KernelReturnStmt) (#917) (by 彭于斌)
  • Language and syntax
    • ti.sqr(x) is now deprecated: please use x ** 2 instead (#937) (by Yuanming Hu)
    • Kernel scalar return support (ArgStoreStmt -> KernelReturnStmt) (#917) (by 彭于斌)
  • Miscellaneous
    • Remove dependency on glibc 2.27 and improve portability (#931) (by Yuanming Hu)

Full changelog:

  • [release] v0.6.3 (#946) (by Yuanming Hu)
  • [Doc] Add documentions for layout (#900) (by 彭于斌)
  • [IR] Use JIT compilation/evaluation for systematic constant folding (#839) (by 彭于斌)
  • [doc] Update doc for kernel return in #930 (#942) (by 彭于斌)
  • [Lang] ti.sqr(x) is now deprecated: please use x ** 2 instead (#937) (by Yuanming Hu)
  • [ir][refactor] Deprecate ArgStoreStmt (both frontend and CHI) (#936) (by Ye Kuang)
  • [metal] Support KernelReturnStmt (#930) (by Ye Kuang)
  • [Misc] Remove dependency on glibc 2.27 and improve portability (#931) (by Yuanming Hu)
  • [Lang] [IR] Kernel scalar return support (ArgStoreStmt -> KernelReturnStmt) (#917) (by 彭于斌)
  • [Example] Add waterwave.py (#792) (by 彭于斌)
taichi - v0.6.2

Published by yuanming-hu over 4 years ago

Highlights:

  • Miscellaneous
    • Add ti.core.toggle_advanced_optimization(True/False) (#927) (by Yuanming Hu)

Full changelog:

  • [doc] Non-Ubuntu Linux users are suggested to build clang-8 from scratch (#867) (by 彭于斌)
  • [Misc] Add ti.core.toggle_advanced_optimization(True/False) (#927) (by Yuanming Hu)
  • [ir][refactor] Move legacy frontend constructs to frontend.h/cpp (#924) (by Ye Kuang)
  • [misc] Enforce format (#922) (by Taichi Gardener)
  • [ir][refactor] Move all Expression subclasses to frontend_ir.h (#919) (by Ye Kuang)