Highlights:
- Bug fixes
- 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)