Highlights:
- Bug fixes
- Examples
- Miscellaneous
- Enhance
ti.init
and supportarch=ti.gpu
(#843) (by 彭于斌)
- Enhance
- OpenGL backend
- IR optimization passes
- Refactoring
- Use state machines for optimization on variables (#859) (by xumingkuan)
Full changelog:
- [release] v0.5.15 (#888) (by Yuanming Hu)
- [Bug] Fix CPU SNode reader in debug mode (#887) (by Yuanming Hu)
- [opengl] Tolerate all errors in with_opengl() (#884) (by 彭于斌)
- [Opt] [Refactor] [Bug] Use state machines for optimization on variables (#859) (by xumingkuan)
- [async] No sync after kernel launch and postpone lower access (#883) (by Yuanming Hu)
- [async] Fix SNode reading in async mode (#881) (by Yuanming Hu)
- [opt] Eliminate assertions with non-zero const conditions (#877) (by xumingkuan)
- [misc] Reorganize misc files (#876) (by Yuanming Hu)
- revert #769 ti.cfg.gdb_trigger error (#879) (by 彭于斌)
- [cuda] [test] Add TI_DEVICE_MEMORY_GB and TI_DEVICE_MEMORY_FRACTION environment variable (#769) (by 彭于斌)
- [OpenGL] Detect driver existence in
with_opengl()
(#864) (by 彭于斌) - [misc] Avoid unnecessary linking when git commit hash not changed (#871) (by Yuanming Hu)
- [async] [refactor] Fix async engine statement not found error (#874) (by Yuanming Hu)
- [example] Fix
pbf2d.py
's initialization to use np.float32 (#873) (by Ye Kuang) - [misc] Avoid mutable defaults in
PyTaichi
(#870) (by Yuxin Wu) - [misc] Fix imread not reading properly when image is not equal in height and width (#855) (by 彭于斌)
- [async] Parallel compilation (#863) (by Yuanming Hu)
- [Opt] [Bug] Fix the state of the last store after a loop (#862) (by xumingkuan)
- [test]
ti test -na opengl
to exclude tests on some archs (#830) (by 彭于斌) - [opt] Eliminate useless local stores and atomics (#858) (by xumingkuan)
- [doc] update documention for #843 (#844) (by 彭于斌)
- [Example] add sdf2d.py (#835) (by 彭于斌)
- [opt] Lower
linearize
even without advanced optimization (#854) (by xumingkuan) - [misc] Split accessor and other kernels in statistics (#853) (by xumingkuan)
- [misc] Profiler now supports multiple threads (#852) (by Yuanming Hu)
- [opt] Improve optimization for OffsetAndExtractBitsStmt (#851) (by xumingkuan)
- [Bug] [Opt] Fix a bug in local variable optimization (#849) (by xumingkuan)
- [test] Fix duplicate test name in
test_tensor_reflection.py
(#850) (by xumingkuan) - [Example] Add
quadtree.py
(#824) (by 彭于斌) - [misc] Avoid printing empty logs (#848) (by xumingkuan)
- [async] Each JIT thread now has its own LLVM context (#845) (by Yuanming Hu)
- [misc] Clear stats in the constructor of Program (by xumingkuan)
- [Misc] Enhance
ti.init
and supportarch=ti.gpu
(#843) (by 彭于斌) - [misc] Add an option to print statistics into files (#841) (by xumingkuan)
- [test] Fix test when
advanced_optimization == false
(#842) (by xumingkuan) - [Example] Add a Cornell box renderer (#836) (by Ye Kuang)
- [metal] Increment by thread grid size for the grid-strip loops (#837) (by Ye Kuang)
- [OpenGL] Use GLAD as API loader (replace GLEW) (#819) (by 彭于斌)
- [opt] Eliminate
WhileControlStmt
with non-zero const conditions (by xumingkuan) - [refactor] Move backend implementations to the
backends
folder (#818) (by Yuanming Hu) - [test] Add a test for statement offloading (#826) (by xumingkuan)
- [Opt] Algebraic simplification for bitwise operators (#827) (by xumingkuan)