Skip to content

v1.0.4

Compare
Choose a tag to compare
@github-actions github-actions released this 12 Jul 11:44
· 1887 commits to master since this release

Highlights:

  • Documentation
    • Fix typos (#5283) (by Kian-Meng Ang)
    • Update dev_install.md (#5266) (by Vissidarte-Herman)
    • Updated README command lines (#5199) (by Vissidarte-Herman)
    • Modify compilation warnings (#5180) (by Olinaaaloompa)
    • Updated odop.md, removing obsolete information (#5163) (by Vissidarte-Herman)
  • Language and syntax
    • Refine SNode with quant 7/n: Support placing QuantFixedType under quant_array (#5386) (by Yi Xu)
    • Add determinant for 1d case (#5375) (by Zhao Liang)
    • Make floor, ceil and round accept a dtype optional argument (#5307) (by Zhao Liang)
    • Rename struct_class to dataclass (#5365) (by Zhao Liang)
    • Improve ti example so that users can choose which example to run by entering numbers. (#5265) (by Zhao Liang)
    • Refine SNode with quant 5/n: Rename bit_array to quant_array (#5344) (by Yi Xu)
    • Make bit_vectorize a parameter of ti.loop_config (#5334) (by Yi Xu)
    • Refine SNode with quant 3/n: Turn bit_vectorize into an on/off switch (#5331) (by Yi Xu)
    • Add errror message for missing init call (#5280) (by Zhao Liang)
    • Fix fractal gui close warning (#5281) (by Zhao Liang)
    • Refine SNode with quant 2/n: Enable struct for on bit_array with bit_vectorize off (#5253) (by Yi Xu)
    • Refactor indexing expressions in AST & enforce integer indices (#5138) (by daylily)

Full changelog:

  • Revert "[llvm] (Decomp of #5251 11/n) Enable parallel compilation on CPU backend (#5394)" (by Proton)
  • [refactor] Default dtype of ndarray type should be None instead of f32 (#5391) (by Ailing)
  • [llvm] (Decomp of #5251 11/n) Enable parallel compilation on CPU backend (#5394) (by Lin Jiang)
  • [gui] [vulkan] Surpport for python users to control the start index and count number of particles & meshes data. (#5388) (by Mocki)
  • [autodiff] Support binary operators for forward mode (#5389) (by Mingrui Zhang)
  • [llvm] (Decomp of #5251 10/n) Make SNode tree compatible with parallel compilation (#5390) (by Lin Jiang)
  • [llvm] [refactor] (Decomp of #5251 9/n) Refactor CodeGen to support parallel compilation on LLVM backend (#5387) (by Lin Jiang)
  • [Lang] [type] Refine SNode with quant 7/n: Support placing QuantFixedType under quant_array (#5386) (by Yi Xu)
  • [llvm] [refactor] (Decomp of #5251 8/n) Refactor KernelCacheData (#5383) (by Lin Jiang)
  • [cuda] [type] Refine SNode with quant 6/n: Support __ldg for loading QuantFixedType and QuantFloatType (#5374) (by Yi Xu)
  • [doc] Add simt functions in operators (#5333) (by Bo Qiao)
  • [Lang] Add determinant for 1d case (#5375) (by Zhao Liang)
  • [lang] Texture image load store support (#5317) (by Bob Cao)
  • [bug] Cast scalar to right type before converting to uint64 (by Ailing Zhang)
  • [refactor] Check dtype mismatch in cgraph compilation and runtime (by Ailing Zhang)
  • [refactor] Check field_dim mismatch in cgraph compilation and runtime (by Ailing Zhang)
  • [test] Check repeated arg names in cgraph (by Ailing Zhang)
  • [llvm] [refactor] (Decomp of #5251 6/n) Let ModuleToFunctionConverter support multiple modules (#5372) (by Lin Jiang)
  • [Lang] Make floor, ceil and round accept a dtype optional argument (#5307) (by Zhao Liang)
  • [refactor] Rename the confused needs_grad (#5359) (by Mingrui Zhang)
  • [autodiff] Support unary ops for forward mode (#5366) (by Mingrui Zhang)
  • [llvm] (Decomp of #5251 7/n) Change the way to record the time of offline cache (#5373) (by Lin Jiang)
  • [llvm] (Decomp of #5251 5/n) Add the parallel compilation worker to LlvmProgramImpl (#5364) (by Lin Jiang)
  • [gui] [test] Fix bug in test_ggui.py when some pc env do not surrport ggui (#5370) (by Mocki)
  • [Lang] Rename struct_class to dataclass (#5365) (by Zhao Liang)
  • [llvm] Drop code for llvm 15. (#5313) (by Xiang Li)
  • [llvm] [aot] Rewrite LLVM AOT tests with LlvmRuntimeExecutor (#5358) (by Zhanlue Yang)
  • [example] Avoid f64 type in simulation/initial_value_problem.py (#5355) (by Proton)
  • [ci] testing: add retention-days for broken wheels (#5326) (by Proton)
  • [test] (Decomp of #5251 4/n) Delete tests for AsyncTaichi (#5357) (by Lin Jiang)
  • [llvm] [refactor] (Decomp of #5251 2/n) Make modulegen a virtual function and let LLVMCompiledData replace ModuleGenValue (#5353) (by Lin Jiang)
  • [gui] Support exporting gif && video in GGUI (#5354) (by Mocki)
  • [autodiff] Handle field accessing by zero for forward mode (#5339) (by Mingrui Zhang)
  • [llvm] [refactor] (Decomp of #5251 3/n) Remove codegen from OffloadedTask and let it replace OffloadedTaskCacheData (#5356) (by Lin Jiang)
  • [refactor] Turn off stack traceback info by default (#5347) (by Ailing)
  • [refactor] (Decomp of #5251 1/n) Move ParallelExecutor out of async engine (#5351) (by Lin Jiang)
  • [Lang] Improve ti example so that users can choose which example to run by entering numbers. (#5265) (by Zhao Liang)
  • [gui] Add get_view_matrix() and get_projection_matrix() APIs for camera (#5345) (by Mocki)
  • [bug] Added warning messages for implicit type conversion for RangeFor boundaries (#5322) (by Zhanlue Yang)
  • [example] Fix simulation/waterwave.py:update race condition (#5346) (by Proton)
  • [Lang] [type] Refine SNode with quant 5/n: Rename bit_array to quant_array (#5344) (by Yi Xu)
  • [llvm] [aot] Added CGraph tests for LLVM backend (#5305) (by Zhanlue Yang)
  • [autodiff] [test] Add for-loop tests for forward mode (#5336) (by Mingrui Zhang)
  • [example] Lower example GUI resolution to fit buildbot display (#5337) (by Proton)
  • [build] [bug] Fix building on macOS 10.14 failed (#5332) (by PGZXB)
  • [llvm] [aot] Replaced LlvmProgramImpl with LlvmRuntimeExecutor for LlvmAotModuleLoader (#5330) (by Zhanlue Yang)
  • [AOT] Fixed certain crashes in C-API (#5335) (by PENGUINLIONG)
  • [Lang] [type] Make bit_vectorize a parameter of ti.loop_config (#5334) (by Yi Xu)
  • [autodiff] Skip store forwarding to keep the GlobalLoadStmt alive (#5315) (by Mingrui Zhang)
  • [llvm] [aot] RModified ModuleToFunctionConverter to use LlvmRuntimeExecutor instead of LlvmProgramImpl (#5328) (by Zhanlue Yang)
  • [llvm] Changed LlvmProgramImpl to save cache_data_ with unique_ptr instead of raw object (#5329) (by Zhanlue Yang)
  • [Lang] [type] Refine SNode with quant 3/n: Turn bit_vectorize into an on/off switch (#5331) (by Yi Xu)
  • [misc] Fix a few compilation warnings (#5325) (by yekuang)
  • [bug] Accept numpy integers in ndrange (#5245) (#5323) (by Proton)
  • [misc] Implement cache file cleaning (#5310) (by PGZXB)
  • Fixed C-AP build on Android (#5321) (by PENGUINLIONG)
  • [AOT] Save AOT module artifacts as zip archive (#5316) (by PENGUINLIONG)
  • [llvm] [aot] Added LLVM backend support for Compute Graph (#5294) (by Zhanlue Yang)
  • [AOT] Unity native plugin interfaces (#5273) (by PENGUINLIONG)
  • [autodiff] Check not placed field.grad when needs_grad = True (#5295) (by Mingrui Zhang)
  • [autodiff] Fix alloca block and add control flow test case for forward mode (#5301) (by Mingrui Zhang)
  • [refactor] Synchronize should always be called in non-async mode (#5302) (by Ailing)
  • [Lang] Add errror message for missing init call (#5280) (by Zhao Liang)
  • Update prtags.json (#5304) (by Bob Cao)
  • [refactor] Get rid ndarray host accessor kernels (by Ailing Zhang)
  • [refactor] Use device api for CPU/CUDA ndarray (by Ailing Zhang)
  • [refactor] Switch to using staging buffer for metal/vulkan/opengl (by Ailing Zhang)
  • [llvm] Use LlvmProgramImpl::cache_data_ to store compiled kernel info (#5290) (by Zhanlue Yang)
  • [opengl] Texture support in OpenGL (#5296) (by Bob Cao)
  • [build] [refactor] Cleanup backends folder and rename to RHI (#5288) (by Bo Qiao)
  • [Lang] Fix fractal gui close warning (#5281) (by Zhao Liang)
  • [autodiff] [test] Add atomic test for forward autodiff (#5286) (by Mingrui Zhang)
  • [dx11] Fix DX backend with new runtime & Better D3D11 buffer handling (#5244) (by Bob Cao)
  • [autodiff] Set default seed only for scalar parameter to avoid silent unexpected results (#5287) (by Mingrui Zhang)
  • test (#5292) (by Ailing)
  • [AOT] Added C-API for on-device memory copy (#5271) (by PENGUINLIONG)
  • [Doc] Fix typos (#5283) (by Kian-Meng Ang)
  • [autodiff] Support control flow for forward mode (by mingrui)
  • [autodiff] Support for-loop and mutation for forward mode (by mingrui)
  • [autodiff] Refactor dual field allocation (by mingrui)
  • [AOT] Refactor C-API codegen (#5272) (by PENGUINLIONG)
  • Update README.md (#5279) (by Taichi contributor)
  • [metal] Support memcpy_internal via buffer_copy (#5268) (by Ailing)
  • [bug] Fix missing old but useful metadata in offline cache (#5267) (by PGZXB)
  • [Lang] [type] Refine SNode with quant 2/n: Enable struct for on bit_array with bit_vectorize off (#5253) (by Yi Xu)
  • [Doc] Update dev_install.md (#5266) (by Vissidarte-Herman)
  • [build] [bug] Fix dependency for opengl_rhi target (by Bo Qiao)
  • Update fallback order, move opengl behind Vulkan (#5257) (by Bob Cao)
  • [opengl] Move OpenGL backend onto Gfx runtime (#5246) (by Bob Cao)
  • [build] [refactor] Move LLVM source files to target locations (#5254) (by Bo Qiao)
  • [bug] Fixed misuse of std::forward (#5237) (by Zhanlue Yang)
  • [AOT] Added safety checks to prevent hard crashes on failure (#5249) (by PENGUINLIONG)
  • [build] [refactor] Move shaders source files to runtime (#5247) (by Bo Qiao)
  • [example] Fix diff_sph example with --train (#5242) (by Mingrui Zhang)
  • [misc] Add filename option to ti.tools.VideoManager. (#5219) (by Qian Bao)
  • [bug] Throw exceptions when ndrange gets non-integral arguments (#5245) (by Mike He)
  • [build] [refactor] Move wasm and dx11 source files to target locations (#5235) (by Bo Qiao)
  • [type] [bug] Refine SNode with quant 1/n: Fix (atomic_)set_mask_b##N (#5238) (by Yi Xu)
  • [lang] 1d/3d texture support (#5233) (by Bob Cao)
  • [vulkan] Fix OpBranch for reversed RangeForStmt (#5241) (by Mingrui Zhang)
  • [build] Fix -Werror errors for TI_WITH_CUDA_TOOLKIT=ON (#5133) (#5216) (by Proton)
  • [ci] Enable pylint on examples (#5222) (by Proton)
  • [llvm] [aot] Split LlvmRuntimeExecutor from LlvmProgramImpl (#5207) (by Zhanlue Yang)
  • [type] [refactor] Decouple quant from SNode 3/n: Extend bit pointers (#5232) (by Yi Xu)
  • [vulkan] Codegen & runtime improvements (#5213) (by Bob Cao)
  • [gui] Fix the device memory leak when GGUI terminates (by Ailing Zhang)
  • [gui] Let gui and renderer manage the resource they own (by Ailing Zhang)
  • [AOT] Unity language binding generator (#5204) (by PENGUINLIONG)
  • [type] [refactor] Decouple quant from SNode 2/n: Remove physical_type from QuantIntType (#5223) (by Yi Xu)
  • [type] [refactor] Decouple quant from SNode 1/n: Add BitStructTypeBuilder (#5209) (by Yi Xu)
  • [build] [refactor] Move metal source files to target locations (#5208) (by Bo Qiao)
  • [lang] Export a few types from the share library (#5220) (by yekuang)
  • [llvm] [refactor] LLVMProgramImpl code clean up: part-5 (#5197) (by Zhanlue Yang)
  • [spirv] Fixed OpLoad with physical address (#5212) (by PENGUINLIONG)
  • [wip] Enable full wheel build when TI_EXPORT_CORE is on (#5211) (by Ailing)
  • [llvm] [refactor] LLVMProgramImpl code clean up: part-4 (#5189) (by Zhanlue Yang)
  • Move spdlog include to profiler.cpp (#5210) (by Ailing)
  • Fix ti gallery command bug (#5196) (by Zhao Liang)
  • [misc] Improve TI_STATIC_ASSERT compatibility (#5205) (by Yuanming Hu)
  • [llvm] [refactor] LLVMProgramImpl code clean up: part-3 (#5188) (by Zhanlue Yang)
  • Fixed C-API provision (#5203) (by PENGUINLIONG)
  • [lang] Improve error message when literal val is out of range of default dtype (#5191) (by Ailing)
  • [Lang] [ir] Refactor indexing expressions in AST & enforce integer indices (#5138) (by daylily)
  • Remove stale coverage from README.md (#5202) (by yekuang)
  • [ci] Slim cpu build image (#5198) (by Proton)
  • [build] [refactor] Move opengl source files to target locations (#5200) (by Bo Qiao)
  • [example] Fix dtype for metal backend and enforce vulkan (#5201) (by Mingrui Zhang)
  • [Doc] Updated README command lines (#5199) (by Vissidarte-Herman)
  • [llvm] [refactor] LLVMProgramImpl code clean up: part-2 (#5187) (by Zhanlue Yang)
  • [AOT] Support Matrix/Vector as graph arguments (#5165) (by Haidong Lan)
  • [refactor] Enable adaptive block_dim selection for CPU backend (#5190) (by Bo Qiao)
  • [Doc] Modify compilation warnings (#5180) (by Olinaaaloompa)
  • [ci] Save wheel to artifact when test fails (#5186) (by Proton)
  • [gui] Detailed error message when GGUI is not available (#5164) (by Proton)
  • [ci] Run C++ tests on Windows (#5176) (by Proton)
  • [lang] Texture support 3/n (Python changes) (#5174) (by Bob Cao)
  • [llvm] [refactor] LLVMProgramImpl code clean up: part-1 (#5181) (by Zhanlue Yang)
  • [AOT] Implementation of Taichi Runtime C-API (#5168) (by PENGUINLIONG)
  • [refactor] [autodiff] Clean redundant compiled functions and refactor kernel key (#5178) (by Mingrui Zhang)
  • [doc] Add badge on README.md (#5177) (by yanqingzhang)
  • [lang] Texture support 2/n (SPIR-V backend & runtime changes) (#5159) (by Bob Cao)
  • [build] Export cmake config to ease clients usage in Cmake (#5162) (by Bo Qiao)
  • [refactor] [autodiff] Refactor autodiff api and add corresponding tests (#5175) (by Mingrui Zhang)
  • [aot] [llvm] LLVM AOT Field part-4: Added AOT tests for Fields - CUDA backend (#5124) (by Zhanlue Yang)
  • [type] [refactor] Consistently use quant_xxx in quant-related names (#5166) (by Yi Xu)
  • [cuda] Disable reduction in non-full warps (#5161) (by Bob Cao)
  • [autodiff] Support basic operations for forward mode autodiff (by mingrui)
  • [autodiff] Add a context manager for forward mode autodiff (by mingrui)
  • [AOT] C-APIs for Taichi runtime distribution (#5150) (by PENGUINLIONG)
  • [cli] Improve user interface for CLI command ti example (#5153) (by Zhao Liang)
  • [Doc] Updated odop.md, removing obsolete information (#5163) (by Vissidarte-Herman)
  • [autodiff] [refactor] Refactor autodiff tape api and TapeImpl (#5154) (by Mingrui Zhang)
  • [type] [refactor] Separate CustomFixedType from CustomFloatType (#5149) (by Yi Xu)
  • [ui] Properlly fix UTF-8 title string by converting to UTF16 (#5155) (by Bob Cao)
  • [aot] [llvm] LLVM AOT Field #3: Added AOT tests for Fields - CPU backend (#5121) (by Zhanlue Yang)
  • Bump version to v1.0.4 (#5157) (by Taichi Gardener)
  • [lang] Texture support 1/n (Context & Programs) (#5139) (by Bob Cao)