Releases: taichi-dev/taichi
Releases · taichi-dev/taichi
v0.7.2
v0.7.1
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
Highlights:
- Error messages
- Use print directly instead of builtin warnings module (#1969) (by 彭于斌)
- Metal backend
- Support assert() (#1959) (by Ye Kuang)
- Type system
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
Highlights:
- Bug fixes
- 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
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
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
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
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
Highlights:
- Examples
- Add mciso.py and mciso_advanced.py for marching cube (#1835) (by 彭于斌)
Full changelog:
v0.6.35
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)