Skip to content

Releases: taichi-dev/taichi

v0.7.2

28 Oct 21:54
e0a6b96
Compare
Choose a tag to compare

Highlights:

  • GUI
    • Support fast_gui on macOS (#1981) (by Ye Kuang)

Full changelog:

  • [blender] Fix inspect.stack() not working in Blender with sourceinspect 0.0.4 (#1992) (by 彭于斌)
  • [GUI] [mac] Support fast_gui on macOS (#1981) (by Ye Kuang)
  • [test] Disable SFG benchmark tests (#1986) (by Ye Kuang)

v0.7.1

24 Oct 19:44
fc0f8be
Compare
Choose a tag to compare

Highlights:

  • Bug fixes
    • Fix some missing operator overrides like rlshift (#1978) (by 彭于斌)
  • CUDA backend
    • Support NVIDIA RTX 3000 series GPUs (#1983) (by Yuanming Hu)
  • Language and syntax
    • Add ti.loop_unique(val) to improve atomics demotion (#1961) (by xumingkuan)
  • Type system
    • Implement is_primitive and refactor primitive type equality check (#1975) (by Xuanda Yang)

Full changelog:

  • [misc] Fix compabtility with pybind11 2.6 (#1984) (by Yuanming Hu)
  • [CUDA] Support NVIDIA RTX 3000 series GPUs (#1983) (by Yuanming Hu)
  • [metal] Create helper methods for TLS codegen (#1982) (by Ye Kuang)
  • [Bug] [lang] Fix some missing operator overrides like rlshift (#1978) (by 彭于斌)
  • [type] Add CustomIntType/BitStructType and corresponding SNodes (#1968) (by Yuanming Hu)
  • [Type] [refactor] Implement is_primitive and refactor primitive type equality check (#1975) (by Xuanda Yang)
  • [async] Add allocator async state (#1973) (by Ye Kuang)
  • [Lang] [opt] Add ti.loop_unique(val) to improve atomics demotion (#1961) (by xumingkuan)

v0.7.0

22 Oct 03:28
0298bca
Compare
Choose a tag to compare

Highlights:

  • Error messages
    • Use print directly instead of builtin warnings module (#1969) (by 彭于斌)
  • Metal backend
    • Support assert() (#1959) (by Ye Kuang)
  • Type system
    • Remove LegacyVectorType (#1967) (by Jiafeng Liu)
    • Make PrimitiveTypeID a public enum (#1965) (by Xuanda Yang)
    • Make TypeFactory Global (#1963) (by Jiafeng Liu)
    • Adopt the new type system in Stmt (#1957) (by Yuanming Hu)

Full changelog:

  • [Error] [ipython] Use print directly instead of builtin warnings module (#1969) (by 彭于斌)
  • [Type] [refactor] Remove LegacyVectorType (#1967) (by Jiafeng Liu)
  • [windows] [gui] Support ti.GUI(fast_gui=True) on Win32 (#1953) (by 彭于斌)
  • [Type] [refactor] Make PrimitiveTypeID a public enum (#1965) (by Xuanda Yang)
  • [misc] Set CMAKE_CXX_STANDARD to 17 (#1964) (by xumingkuan)
  • [Type] [refactor] Make TypeFactory Global (#1963) (by Jiafeng Liu)
  • [type] Remove DataType::width (#1962) (by Yuanming Hu)
  • [Metal] Support assert() (#1959) (by Ye Kuang)
  • [type] [refactor] Remove DataType::data_type (#1960) (by Taichi Gardener)
  • [Type] Adopt the new type system in Stmt (#1957) (by Yuanming Hu)

More details on the v0.7 changes will be posted later.

v0.6.41

17 Oct 04:04
706c519
Compare
Choose a tag to compare

Highlights:

  • Bug fixes
    • Fix error when subscripting a dict (#1950) (by 彭于斌)
    • "ext_arr.shape" should return "ti.Expr" instead of "ti.core.Expr" (#1939) (by 彭于斌)
  • GUI
    • Support "ti.GUI(fast_gui=True)" for zero-copy while gui.set_image(img) (#1922) (by 彭于斌)
  • Metal backend
    • Support ti.block_dim() and ti.cfg.saturating_grid_dim (#1947) (by Ye Kuang)
  • Performance improvements
    • Support thread local storage for reduction in struct-fors (#1941) (by Yuanming Hu)

Full changelog:

  • [Bug] [lang] Fix error when subscripting a dict (#1950) (by 彭于斌)
  • [refactor] Add format_error_message() method (#1955) (by Ye Kuang)
  • [async] Use llvm::SmallVector/llvm:SmallSet for latest state readers (#1951) (by Ye Kuang)
  • [metal] Support TLS for struct-for tasks (#1949) (by Ye Kuang)
  • [Metal] Support ti.block_dim() and ti.cfg.saturating_grid_dim (#1947) (by Ye Kuang)
  • [type] Add basic implementations of VectorType and PointerType (#1948) (by Yuanming Hu)
  • [refactor] Move OffloadedStmt::TaskType to a separate file (#1946) (by xumingkuan)
  • [Bug] [lang] "ext_arr.shape" should return "ti.Expr" instead of "ti.core.Expr" (#1939) (by 彭于斌)
  • [Perf] Support thread local storage for reduction in struct-fors (#1941) (by Yuanming Hu)
  • [async] Do not keep latest state readers in SFG (#1945) (by xumingkuan)
  • [refactor] VectorType -> LegacyVectorType (#1943) (by Taichi Gardener)
  • [refactor] Remove obsolete AsyncEngine::fuse() (#1944) (by Taichi Gardener)
  • [type] Initial TypeFactory class (#1942) (by Yuanming Hu)
  • [GUI] [linux] Support "ti.GUI(fast_gui=True)" for zero-copy while gui.set_image(img) (#1922) (by 彭于斌)
  • [misc] Add misc/fetch_active_contributor.py (#1938) (by Yuanming Hu)

v0.6.40

12 Oct 16:00
7823181
Compare
Choose a tag to compare

Highlights:

  • GUI
    • Support creating fullscreen window by "ti.GUI(fullscreen=True)" (#1921) (by 彭于斌)

Full changelog:

  • [misc] Add a link to TaichiHub playground in README.md (#1933) (by 彭于斌)
  • [test] Add a benchmark for SFG edges' two-level map (#1927) (by Ye Kuang)
  • [async] Switch to llvm::SmallVectorllvm::SmallSet for edges (#1936) (by Ye Kuang)
  • [async] [opt] Field value killing analysis (#1929) (by xumingkuan)
  • [ir] Add the case of bit_shr to binary_op_type_symbol (#1930) (by xumingkuan)
  • [GUI] [linux] Support creating fullscreen window by "ti.GUI(fullscreen=True)" (#1921) (by 彭于斌)

v0.6.39

08 Oct 04:55
12e02be
Compare
Choose a tag to compare

Full changelog:

  • [refactor] Use PrimitiveType::type instead of DataType::type (#1926) (by Taichi Gardener)
  • [example] Upgrade mass_spring_3d.py to Taichi THREE v0.0.5 (#1919) (by 彭于斌)
  • [async] [metal] Support async mode on Metal (#1920) (by Ye Kuang)
  • [type] [refactor] Promote DataType to a class (#1906) (by Yuanming Hu)
  • [async] Partial SFG node GC (keep latest state writers/readers) (#1915) (by xumingkuan)
  • [doc] Improve description of the pos parameter in gui (#1904) (by qbao0x3273)

v0.6.38

04 Oct 02:35
8b04c03
Compare
Choose a tag to compare

Highlights:

  • Examples
    • Fix rounding error for cornell_box.py (#1908) (by 蕉太狼)
  • Language and syntax
    • Add @ti.materialize_callback for functions to be called right after root materialization (#1912) (by 彭于斌)

Full changelog:

  • [doc] Guard values with "ti.approx" in "docs/write_test.rst" to allow FP-error tolerance (#1911) (by Tony)
  • [Lang] Add @ti.materialize_callback for functions to be called right after root materialization (#1912) (by 彭于斌)
  • [metal] Fix error message (#1916) (by Ye Kuang)
  • [async] Support SFG-level DSE for scalar SNodes (#1907) (by Ye Kuang)
  • [Example] Fix rounding error for cornell_box.py (#1908) (by 蕉太狼)
  • [async] Add advection benchmark (#1914) (by Yuanming Hu)
  • [example] Update mpm_lagrangian_forces.py (#1910) (by Yuanming Hu)
  • [doc] Use "atan2(y, x)" instead of "atan2(x, y)" (#1816) (#1903) (by Tony)
  • [metal] Add KernelManagerData in prep for pointer SNode (#1895) (by Ye Kuang)
  • [perf] Wrap clear loss/grad into a kernel (#1902) (by Ye Kuang)

v0.6.37

27 Sep 23:01
e0ac1d8
Compare
Choose a tag to compare

Highlights:

  • Intermediate representation
    • Support SHR operator: ti.bit_shr(x, y) (#1871) (by Xuanda Yang)
  • Miscellaneous
    • Automatic release pipeline: read semver from CMakeList directly (#1885) (by Chengchen(Rex) Wang)
  • Refactor
    • Move statements from ir.h to statements.h (#1898) (by xumingkuan)

Full changelog:

  • [bug] Fix stable fluid BFECC advection (#1764) (by Yadi Cao)
  • [Refactor] [ir] Move statements from ir.h to statements.h (#1898) (by xumingkuan)
  • [export] Support exporting custom config variables (#1893) (by 彭于斌)
  • [gui] [ipython] Add GUI.del to close on variable dereference (#1869) (by 彭于斌)
  • [misc] Make check previous CI run only check for Build-and-Test jobs (#1899) (by Ye Kuang)
  • [refactor] Move IRBank to a separate file (#1897) (by xumingkuan)
  • [refactor] Remove DFS in DOT generation (#1896) (by Ye Kuang)
  • [async] Optimize StateFlowGraph::optimize_listgen (#1894) (by Yuanming Hu)
  • [misc] Expose kernel statistics to python (#1891) (by Ye Kuang)
  • [async] Cache demote_activation (#1889) (by xumingkuan)
  • [async] Make optimization passes iterative (#1890) (by Ye Kuang)
  • [async] Remove ClearListStmt from possibly fused serial tasks (#1888) (by Ye Kuang)
  • [IR] [lang] Support SHR operator: ti.bit_shr(x, y) (#1871) (by Xuanda Yang)
  • [async] Classify tasks to make fusion 10.6x faster (#1887) (by xumingkuan)
  • [Misc] Automatic release pipeline: read semver from CMakeList directly (#1885) (by Chengchen(Rex) Wang)
  • [export] [cc] Support ti.RecordGroupHint to group launched kernels (#1880) (by 彭于斌)
  • [async] Add element-wise info into TaskMeta for fusion (#1884) (by xumingkuan)

v0.6.36

23 Sep 15:11
f2a798d
Compare
Choose a tag to compare

Highlights:

  • Examples
    • Add mciso.py and mciso_advanced.py for marching cube (#1835) (by 彭于斌)

Full changelog:

  • [cli] Setup pylint: run 'ti lint' to obtain linting results (#1846) (by 彭于斌)
  • [async] More SFG optimizations (#1877) (by Yuanming Hu)
  • [Example] Add mciso.py and mciso_advanced.py for marching cube (#1835) (by 彭于斌)

v0.6.35

16 Sep 23:16
17c9fb7
Compare
Choose a tag to compare

Highlights:

  • Language and syntax
    • Support num_thread limitation and serial execution on CPU (#1867) (by Yuanming Hu)

Full changelog:

  • [refactor] Create class TypePromotionMapping for refactoring function promoted_type in lang_util.cpp (#1874) (by Jiafeng Liu)
  • [async] Draw nodes as record shape, allow embedding states into the nodes. (#1876) (by Ye Kuang)
  • [Lang] Support num_thread limitation and serial excution on CPU (#1867) (by Yuanming Hu)
  • [async] Cache fusion results (#1875) (by xumingkuan)
  • [Async] Fix ClearListStmt metadata (#1873) (by Yuanming Hu)
  • [async] Improve fusion optimization and add StateFlowGraph::verify (#1872) (by xumingkuan)
  • [async] Optimizations on StateFlowGraph (#1870) (by Yuanming Hu)
  • [async] Migrate AsyncEngine::fuse() to StateFlowGraph (#1859) (by xumingkuan)
  • [ir] Add ClearListStmt instead of making clear_list a unique task type (#1868) (by Ye Kuang)
  • [error] [doc] Better error message when X11 environment failed to initialize (#1856) (by 彭于斌)
  • [async] Highlight user kernels in the DOT graph, allows configuring rankdir (#1866) (by Ye Kuang)