Skip to content

Releases: taichi-dev/taichi

v0.6.13

24 Jun 07:34
e8d8735
Compare
Choose a tag to compare

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)

v0.6.12

20 Jun 13:29
4213973
Compare
Choose a tag to compare

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

v0.6.11

17 Jun 06:12
762aca5
Compare
Choose a tag to compare

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

v0.6.9

11 Jun 12:48
afd6650
Compare
Choose a tag to compare

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)

v0.6.8

08 Jun 01:25
9f4fd27
Compare
Choose a tag to compare

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)

v0.6.7

01 Jun 00:38
ca4d9dd
Compare
Choose a tag to compare

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)

v0.6.6

25 May 16:57
5cab3f2
Compare
Choose a tag to compare

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

v0.6.5

20 May 00:55
c3b7ce5
Compare
Choose a tag to compare

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)

v0.6.4

14 May 02:24
562e1f1
Compare
Choose a tag to compare

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)

v0.6.3

11 May 11:54
471392b
Compare
Choose a tag to compare

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