taichi

Productive, portable, and performant GPU programming in Python.

APACHE-2.0 License

Downloads
32.8K
Stars
24.7K
Committers
222

Bot releases are visible (Hide)

taichi - v0.6.1

Published by yuanming-hu over 4 years ago

Highlights:

  • Automatic differentiation
    • Fix CUDA data layout and stack alignment (#918) (by Yuanming Hu)
  • CUDA backend
    • Fix CUDA data layout and stack alignment (#918) (by Yuanming Hu)
  • Examples
    • Add example/bitmasked.py (#905) (by 彭于斌)
  • GUI
    • Better event filtering system (#801) (by 彭于斌)
  • Language and syntax
    • Scalar math functions can now be applied element-wisely to vectors/matrices (#891) (by 彭于斌)

Full changelog:

  • [ir][refactor] Move all frontend stmts to frontend_ir.h (#916) (by Ye Kuang)
  • [CUDA] [AutoDiff] Fix CUDA data layout and stack alignment (#918) (by Yuanming Hu)
  • [Example] Add example/bitmasked.py (#905) (by 彭于斌)
  • [opengl] [bug] Move GLSLRuntime into a separate buffer, fix ti.random() bug on NVIDIA (#912) (by 彭于斌)
  • [ir][refactor] First step to move Frontend IR to its own file (#914) (by Ye Kuang)
  • [async] Avoid unnecessary list generations and activations (#913) (by Yuanming Hu)
  • [Lang] Scalar math functions can now be applied element-wisely to vectors/matrices (#891) (by 彭于斌)
  • [ir] Deprecate FrontendAtomicStmt (#907) (by Ye Kuang)
  • [ir] [refactor] Remove the global current_block (#908) (by Ye Kuang)
  • [ir][refactor] Pass a context object to Expression::flatten() (#901) (by Ye Kuang)
  • [test] Add an argument -r to rerun failed test (#904) (by 彭于斌)
  • [GUI] Better event filtering system (#801) (by 彭于斌)
taichi - v0.6.0

Published by archibate over 4 years ago

Highlights:

  • The OpenGL Compute Shader backend (by 彭于斌) is officially released!
  • Examples
    • Add Multiple Importance Sampling to the cornell box scene (#890) (by Ye Kuang)
  • IR optimization passes
    • Extract constants to top-level (#897) (by xumingkuan)
    • Global variable optimizations (#857) (by xumingkuan)

Full changelog:

  • [ir] [refactor] Separate UnaryOpType::cast into cast_value and cast_bits (#892) (by 彭于斌)
  • [opt] Set has_global_side_effect to false for some statements (#898) (by xumingkuan)
  • [Example] Add Multiple Importance Sampling to the cornell box scene (#890) (by Ye Kuang)
  • [async] Overlap compilation and execution (#885) (by Yuanming Hu)
  • [Opt] Extract constants to top-level (#897) (by xumingkuan)
  • [ir] Remove Ident alias (#895) (by Ye Kuang)
  • [opt] Use advanced_optimization for #857 (#894) (by xumingkuan)
  • [Opt] Global variable optimizations (#857) (by xumingkuan)
taichi - v0.5.15

Published by yuanming-hu over 4 years ago

Highlights:

  • Bug fixes
    • Fix CPU SNode reader in debug mode (#887) (by Yuanming Hu)
    • Fix the state of the last store after a loop (#862) (by xumingkuan)
    • Fix a bug in local variable optimization (#849) (by xumingkuan)
  • Examples
    • Add sdf2d.py (#835) (by 彭于斌)
    • Add quadtree.py (#824) (by 彭于斌)
    • Add a Cornell box renderer (#836) (by Ye Kuang)
  • Miscellaneous
    • Enhance ti.init and support arch=ti.gpu (#843) (by 彭于斌)
  • OpenGL backend
    • Detect driver existence in with_opengl() (#864) (by 彭于斌)
    • Use GLAD as API loader (replace GLEW) (#819) (by 彭于斌)
  • IR optimization passes
    • Use state machines for optimization on variables (#859) (by xumingkuan)
    • Fix the state of the last store after a loop (#862) (by xumingkuan)
    • Fix a bug in local variable optimization (#849) (by xumingkuan)
    • Algebraic simplification for bitwise operators (#827) (by xumingkuan)
  • 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 support arch=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)
taichi - v0.5.14

Published by yuanming-hu over 4 years ago

Highlights:

  • CUDA backend
    • Fix slim_libdevice.bc shipping on Windows (#820) (by Yuanming Hu)
  • OpenGL backend
    • Fix NVIDIA GLSL compile freeze by sorting SNodes (#808) (by 彭于斌)

Full changelog:

  • [refactor] Miscellaneous & mechanical cleanups (#822) (by Taichi Gardener)
  • [CUDA] Fix slim_libdevice.bc shipping on Windows (#820) (by Yuanming Hu)
  • [OpenGL] Fix NVIDIA GLSL compile freeze by sorting SNodes (#808) (by 彭于斌)
  • [refactor] Remove SNodeAttr and decouple SNode from LLVM (#817) (by Yuanming Hu)
  • [async] Parallel compilation infrastructure (#816) (by Yuanming Hu)
  • [example] Improve mpm128 gravity control (#809) (by 彭于斌)
taichi - v0.5.13

Published by yuanming-hu over 4 years ago

Highlights:

  • Bug fixes
    • Insert gc tasks only for pointer and dynamic SNodes (#781) (by Ye Kuang)
  • Command line interface
    • Fix ti commands other than ti test (#783) (by Yuanming Hu)
  • Documentation
    • Improved documentation (#747) (by 彭于斌)
  • Examples
    • Add an Euler equation solver (#796) (by Kenneth Lozes)
  • Intermediate representation
    • Fix compilation crash when offloading local variables stores/atomic adds (#813) (by xumingkuan)
    • Fix malformed IRs (#806) (by xumingkuan)
  • Language and syntax
    • Support matrix initialization with a list of vectors (#811) (by Kenneth Lozes)
  • LLVM backend (CPU and CUDA)
    • Upgrade to LLVM 10 and keep backward compatibility with LLVM 8 (#787) (by Tao He)
  • OpenGL backend
    • Support range for-loops with non-constant bounds (#785) (by 彭于斌)
  • IR optimization passes
    • Improve local variable optimizations (#788) (by xumingkuan)

Full changelog:

  • [Lang] Support matrix initialization with a list of vectors (#811) (by Kenneth Lozes)
  • [IR] Fix compilation crash when offloading local variables stores/atomic adds (#813) (by xumingkuan)
  • [opt] Avoid storing constants across offloaded tasks (#812) (by xumingkuan)
  • [misc] Update README.md (#776) (by Yuanming Hu)
  • [OpenGL] Support range for-loops with non-constant bounds (#785) (by 彭于斌)
  • [Example] Add an Euler equation solver (#796) (by Kenneth Lozes)
  • [doc] Add Google code review article PDFs (#800) (by Yuanming Hu)
  • [IR] Fix malformed IRs (#806) (by xumingkuan)
  • [async] Add parallel task executor (#805) (by Yuanming Hu)
  • [ir] Add checks for loop_vars and print names for loops (#803) (by xumingkuan)
  • [Opt] Improve local variable optimizations (#788) (by xumingkuan)
  • [misc] Improve type checking error messages (#797) (by Yuanming Hu)
  • [example] Improve mpm_lagrangian_forces.py (#799) (by Yuanming Hu)
  • [doc] Document the Statistics class (#795) (by Yuanming Hu)
  • [metal] Implement range_for using grid stride loop (#780) (by Ye Kuang)
  • [doc] Include a few links to Google Code Health articles in contributor guidelines (#789) (by Yuanming Hu)
  • [Doc] Improved documentation (#747) (by 彭于斌)
  • [LLVM] Upgrade to LLVM 10 and keep backward compatibility with LLVM 8 (#787) (by Tao He)
  • [doc] Fix typo (#786) (by xumingkuan)
  • [CLI] Fix ti commands other than ti test (#783) (by Yuanming Hu)
  • [Bug] [sparse] Insert gc tasks only for pointer and dynamic SNodes (#781) (by Ye Kuang)
taichi - v0.5.12

Published by yuanming-hu over 4 years ago

Notable changes:

  • Language
    • Support 4x4 matrix inverse and determinant (#763) (by KLozes)
  • Command-line interface
    • Fix ti test --arch ... (#764) (by 彭于斌)
  • Examples
    • Add 2D stable fluids example (#748) (by Ye Kuang)
  • PyPI package
    • Package name changed from taichi-nightly to taichi (#762) (by Yuanming Hu)
  • Full log

Full changelog:

  • [cli] Add TI_GDB_TRIGGER environment variable (#766) (by 彭于斌)
  • [misc] Update Jenkinsfile (by Yuanming Hu)
  • [cli] Fix ti test (#774) (by Yuanming Hu)
  • [misc] Update README.md (#767) (by Yuanming Hu)
  • [refactor] [opt] Move LocalLoadSearcher and 2 other classes to irpass::analysis (#771) (by xumingkuan)
  • [ir] [refactor] Slim ir.h and reduce build time by ~4% (#761) (by xumingkuan)
  • [CLI] Fix ti test --arch ... (#764) (by 彭于斌)
  • [opengl] GLFW 3.3.2 is now included as a submodule (#760) (by Yuanming Hu)
  • [lang] Support 4x4 matrix inverse and determinant (#763) (by KLozes)
  • [PyPI] Package name changed from taichi-nightly to taichi (#762) (by Yuanming Hu)
  • [misc] Unify #include format (#759) (by Taichi Gardener)
  • [Example] Add 2D stable fluids example (#748) (by Ye Kuang)
taichi - v0.5.11

Published by yuanming-hu over 4 years ago

Notable changes:

  • Automatic differentiation
    • Fix floating-point type-cast gradients (#687) (by Yuanming Hu)
  • CUDA backend
    • PyPI package taichi-nightly now covers CUDA 10.X on Windows and Linux (#756) (by Yuanming Hu)
  • Examples
    • Add game_of_life.py (#741) (by 彭于斌)
    • Fix examples/regression.py (#757) (by Quan Wang)
  • GUI
    • Support SPACE key (#749) (by Ye Kuang)
    • Fix blinking particles and random segmentation faults in ti.GUI.circles (#755) (by Yuanming Hu)
  • Language and syntax
    • Support continue on all backends (#716) (by Ye Kuang)
  • LLVM backend (CPU and CUDA)
    • Fix LLVM struct-for codegen crashing due to extra return #704 (#707) (by Yuanming Hu)
  • Metal backend
    • Support ti.random() on Metal (#710) (by Ye Kuang)
  • OpenGL backend
    • Support NVIDIA GLSL compiler (#666) (by 彭于斌)
    • 64-bit data type support (#717) (by 彭于斌)
    • Support more than one external array arguments (#694) (by 彭于斌)
  • IR and Optimization
    • More Taichi IR standardization and optimization (#656) (by xumingkuan)

Full changelog:

  • [CUDA] limit memory allocation chunk size 128 MB (#758) (by Yuanming Hu)
  • [CUDA] PyPI package taichi-nightly now covers CUDA 10.X on Windows and Linux (#756) (by Yuanming Hu)
  • [Example] Fix examples/regression.py (#757) (by Quan Wang)
  • [ir] [refactor] Move all passes that do not change IR into irpass::analysis (#754) (by xumingkuan)
  • [GUI] Fix blinking particles and random segmentation faults in ti.GUI.circles (#755) (by Yuanming Hu)
  • [misc] Fix dynamic node out-of-bound checker (#752) (by Yuanming Hu)
  • [doc] Update syntax.rst to include ti.sqrt, ti.asin, ti.acos and x ** y (#753) (by Quan Wang)
  • [refactor] Remove vprintf in runtime/llvm/runtime.cpp to avoid name conflicts (#750) (by Yuanming Hu)
  • [misc] Update Jenkinsfile (by Yuanming Hu)
  • [GUI][Metal] Support SPACE key (#749) (by Ye Kuang)
  • [OpenGL] 64-bit data type support (#717) (by 彭于斌)
  • [cli] Better ti test to test single cpp file and no cpp test when testing python(s) (#724) (by 彭于斌)
  • [ir] [refactor] Simplify statement visitors (#744) (by xumingkuan)
  • [async] Benchmark infrastructure (#743) (by Yuanming Hu)
  • [opt] Move common statements in true/false branches outside if's (#727) (by xumingkuan)
  • [opengl] Add check_opengl_error to prevent potential segfaults (#728) (by 彭于斌)
  • [Example] Add game_of_life.py (#741) (by 彭于斌)
  • [ir] [refactor] Add a verify pass to find out illegal IRs, and remove OffloadedStmt::begin_stmt/end_stmt (#731) (by xumingkuan)
  • [cli] Improve ti header message (#715) (by Ye Kuang)
  • [metal][refactor] Use compile_to_offloads() in codegen (#738) (by Ye Kuang)
  • [ir] Fix adjoint alloca location in make_adjoint (#734) (by Yuanming Hu)
  • [ir] Fix out-of-scope operands during offloading (#730) (by Yuanming Hu)
  • [metal] Refactor the codegen to have multiple code sections (#733) (by Ye Kuang)
  • [ir] [refactor] BasicStmtVisitor includes Frontend sstatements (#732) (by 彭于斌)
  • [infra] AppVeyor triggers format server when [format] included as substrings in commit messages (#725) (by 彭于斌)
  • [opengl] [refactor] Remove the global no_gc in opengl_codegen.cpp (#723) (by Ye Kuang)
  • [Lang] Support continue on all backends (#716) (by Ye Kuang)
  • [ir] Add assertions of Allocas in the constructors of LocalAddress and LocalStoreStmt (by xumingkuan)
  • [CUDA] Improve CUDA build portability with run-time driver loading (#714) (by Yuanming Hu)
  • [infra] Windows stack backtrace (#720) (by xumingkuan)
  • [ir][refactor] Use const & in function arguments to avoid copying (#718) (by xumingkuan)
  • [opengl] [refactor] Fix memory leakages using modern C++ memory management features (#696) (by 彭于斌)
  • [ir] Fix compilation crash when passing global pointer to if statements (#713) (by Yuanming Hu)
  • [test] Make test_struct_for_branching run on archs with pointer (#712) (by Ye Kuang)
  • [Metal] Support ti.random() on Metal (#710) (by Ye Kuang)
  • [refactor] SNode now uses unique_ptr instead of shared_ptr for clearer children ownership (#705) (by Yuanming Hu)
  • [LLVM] Fix LLVM struct-for codegen crashing due to extra return #704 (#707) (by Yuanming Hu)
  • [metal] Skip listgen for leaf Snode (#699) (by Ye Kuang)
  • [refactor] CUDA-related infrastructure (#706) (by Yuanming Hu)
  • [OpenGL] Support more than one external array arguments (#694) (by 彭于斌)
  • [ir] Add a function to test if two IRNodes are equivalent (#683) (by xumingkuan)
  • [refactor] Create taichi/codegen/codegen_llvm.cpp and outline class member definitions (#702) (by Taichi Gardener)
  • [refactor] Extract Taichi IR compilation from KernelCodeGen (#700) (by Yuanming Hu)
  • [async] AsyncEngine infrastructure (#698) (by Yuanming Hu)
  • [metal] Fix tests that require 64-bit data (#697) (by Ye Kuang)
  • [opengl] Improved randomness of PRNGs across each launch (#692) (by 彭于斌)
  • [OpenGL] Support NVIDIA GLSL compiler (#666) (by 彭于斌)
  • [metal] Fix bug in Metal listgen where it goes beyond the capacity (#691) (by Ye Kuang)
  • [ir] Add statement field manager (#690) (by Yuanming Hu)
  • [misc] Enforce the use of #include "taichi/..." (#688) (by Taichi Gardener)
  • [AutoDiff] Fix floating-point type-cast gradients (#687) (by Yuanming Hu)
  • [metal] Use grid-stride loop to implement listgen kernels (#682) (by Ye Kuang)
  • [refactor] Remove llvm::Value *Stmt::value (#686) (by Yuanming Hu)
  • [refactor] Removed Stmt::adjoint (#685) (by Yuanming Hu)
  • [lang] Fix ti.static(ti.grouped(...)) syntax checker (#681) (by xumingkuan)
taichi - v0.5.10

Published by yuanming-hu over 4 years ago

Notable changes:

  • (Mar 29, 2020) v0.5.10 released
    • Language and syntax
      • Fix ti.static(ti.grouped(ti.ndrange(...))) syntax checker false positive (#680) (by Yuanming Hu)
    • CLI
      • ti test now supports -t/--threads for specifying number of testing threads (#674) (by Yuanming Hu)

Full changelog:

  • [Infra] ti test now supports -t/--threads for specifying number of testing threads (#674) (by Yuanming Hu)
  • [Lang] Fix ti.static(ti.grouped(ti.ndrange(...))) syntax checker false positive (#680) (by Yuanming Hu)
  • [misc] Removed useless files (by Taichi Gardener)
  • [misc] Update README.md (by Yuanming Hu)
taichi - v0.5.9

Published by yuanming-hu over 4 years ago

Notable changes:

  • (Mar 28, 2020) v0.5.9 released
    • CPU & CUDA backends
      • Support bitmasked as the leaf block structure for 1x1x1 masks (#676) (by Yuanming Hu)
    • Documentation
      • Updated contributor guideline (#658) (by Yuanming Hu)
    • Infrastructure
      • 6x faster compilation on CPU/CUDA backends (#673) (by Yuanming Hu)
    • Language and syntax
      • Simplify dense.bitmasked to bitmasked (#670) (by Ye Kuang)
      • Support break in non-parallel for statements (#583) (by 彭于斌)
    • Metal backend
      • Enable bitmasked on Metal (#661) (by Ye Kuang)
      • Silence compile warnings (#650) (by Ye Kuang)
    • Optimization
      • Improved Taichi IR optimizers (#662) (#668) (by xumingkuan)

Full changelog:

  • [misc] misc/make_changelog.py for automatically generating changelogs (#679) (by Yuanming Hu)
  • [metal] Simplify Metal backend's namings (#675) (by Ye Kuang)
  • [CPU][CUDA] Support bitmasked as the leaf block structure for 1x1x1 masks (#676) (by Yuanming Hu)
  • [Infra] 6x faster compilation on CPU backends (#673) (by Yuanming Hu)
  • [misc] Improve format server stability (#672) (by Yuanming Hu)
  • [ir] Basic function definition/call instructions (#612) (by 彭于斌)
  • [Lang] Simplify dense.bitmasked to bitmasked (#670) (by Ye Kuang)
  • [misc] Fixed format server file coverage (#669) (by Yuanming Hu)
  • [Opt] Merge adjacent if's with identical conditions (#668) (by xumingkuan)
  • [metal] Move platform/metal to backends/metal (#667) (by Ye Kuang)
  • [ir] Added irpass::gather_statements (#665) (by Yuanming Hu)
  • [Opt] Dive into container statements to find local loads/stores for optimization, and optimize loads of new allocas to 0 (#662) (by xumingkuan)
  • [Metal] Changes to enable bitmasked on Metal! (#661) (by Ye Kuang)
  • [Doc] Updated contributor guideline (#658) (by Yuanming Hu)
  • [misc] Introduced a temporary boolean constant for benchmarking advanced optimizations (#657) (by xumingkuan)
  • [misc] v0.5.8 README (#654) (by Yuanming Hu)
  • Fixed MGPCG (#652) (by Yuanming Hu)
  • Refactor ASTTransformer.visit_For and fix a bug on grouped ndrange loops (#648) (by xumingkuan)
  • [Metal] Silence compile warning with [[maybe_unused]] (#650) (by Ye Kuang)
  • add LineAppender for OpenGL too #643 (#651) (by 彭于斌)
  • Support break in non-parallel for statements by translate range-for into while #578 (#583) (by 彭于斌)
  • [Metal] Add bitmasked support in MetalRuntime (#638) (by Ye Kuang)
taichi - v0.5.8

Published by yuanming-hu over 4 years ago

Changes that are visible to users:

  • [Lang] Access out-of-bound checking on CPU backends (#572) (by xumingkuan)
  • [Lang] Testable device-side assertion failures on CPUs (#605) (by xumingkuan)
  • [Lang] Added Expr.copy_from (by Yuanming Hu)
  • [Lang] Added ti.Vector.unit to generate unit vectors (by Yuanming Hu)
  • [Lang] Use a = ti.static(a_very_long_variable) for easy aliasing [doc] (#587) (by 彭于斌 and KLozes)
  • [DiffTaichi] Experimental support for automatically differentiating through conditional global load/stores (by Yuanming Hu)
  • [Lang] Added ti.atomic_min, ti.atomic_max, ti.atomic_bit_or, ti.atomic_bit_and, ti.atomic_bit_xor (CPU and CUDA by KLozes, OpenGL by 彭于斌, Metal by Ye Kuang)
  • [Bugfix] Fixed stack traceback printing on OS X (#610) (by Yuanming Hu)
  • [CLI] ti format now cover all files from upstream/master to the working tree (#629) (by Ye Kuang)
  • [CLI] ti test now uses argparse for better customizability (#601) (by 彭于斌)
  • [Backend] OpenGL Compute Shader backend will officially release very soon with v0.6! (by 彭于斌)
  • [Backend] Metal backend sparsity support work in progress (by Ye Kuang)
  • [Example] Added examples/mgpcg.py (#573) (by KLozes)
  • [Example] Added examples/sdf_renderer.py (by Yuanming Hu)
  • [Example] Added examples/mgpcg_advanced.py (#573) (by Yuanming Hu)

All changes:

  • Postponed demote_dense_struct_for on x86 and CUDA (#649) (by Yuanming Hu)
  • Add LineAppender to dedupe code emitting methods (#643) (by Ye Kuang)
  • Simplify init in mgpcg_advanced.py (#645) (by xumingkuan)
  • New extension 'adstack' (#646) (by Yuanming Hu)
  • Mutable local variable autodiff (#640) (by Yuanming Hu)
  • Change Jenkins repo URL to taichi-dev (#644) (by Yuanming Hu)
  • Fix Jenkinsfile after testing CLI update (#642) (by Yuanming Hu)
  • Fixed 'ti format' crashing on deleted files (#641) (by Yuanming Hu)
  • Support atomic min/max/bit_and/bit_or/bit_xor on Metal (#632) (by Ye Kuang)
  • Add atomic_bit_or/xor/and for OpenGL (#634) (by 彭于斌)
  • [Metal] Add runtime support in Metal codegen (#626) (by Ye Kuang)
  • Fixed ASTTransformer.visit_For on static ndrange loops (#630) (by Yuanming Hu)
  • Add atomic min/max/bit_and/bit_or/bit_xor (#627) (by KLozes)
  • For Loops with Grouped NDRange (#625) (by xumingkuan)
  • Make ti format cover all files from upstream/master to the working tree (#629) (by Ye Kuang)
  • Removed ClearAllStmt (#624) (by Yuanming Hu)
  • Refactor type system: added pointer, i1->u1, created data_type.inc.h (#623) (by Yuanming Hu)
  • Link to format server in PR template (#619) (by Yuanming Hu)
  • Format server index page (#618) (by Yuanming Hu)
  • Reformat everything (#617) (by Taichi Gardener)
  • Improved ti format (#616) (by Yuanming Hu)
  • IR extension for mutable local variable history and autodiff (#608) (by Yuanming Hu)
  • Added syntax sugar doc for static assignment (#585) (by KLozes)
  • Use argparse for ti test in taichi/main.py to implement #600 (#601) (by 彭于斌)
  • [Metal] Add Runtime shaders to support sparse SNode (#614) (by Ye Kuang)
  • throw UnboundLocalError when accessing loop variables outside static for loops (#613) (by Yuanming Hu)
  • Testable Device-Side Assertion Failures on CPUs (#605) (by xumingkuan)
  • [Metal] Move Metal shader code to shaders/ folder (#611) (by Ye Kuang)
  • fixed print_traceback overflow on OS X (#610) (by Yuanming Hu)
  • Simplified GlobalPtrStmt and improved its CSE optimization (#599) (by Yuanming Hu)
  • OpenGL backend (stage 2.2.2) (#545) (by 彭于斌)
  • Removed unused fields of SNode (#598) (by Yuanming Hu)
  • Fixed non-OpenGL build (#596) (by Yuanming Hu)
  • OpenGL backend minor fixes (stage 2.2.1) (#595) (by 彭于斌)
  • OpenGL external array access (stage 2.1.2) (#586) (by 彭于斌)
  • OpenGL range_for support (stage 2.1.1) (#594) (by 彭于斌)
  • Fix travis (#589) (by Yuanming Hu)
  • Format server script (#588) (by Yuanming Hu)
  • add static ptr assignment for funcs too (#587) (by KLozes)
  • Temporary global variable aliasing within kernels #574 (#575) (by 彭于斌)
  • make mgpcg_advanced.py more dimensionality-independent (by Yuanming Hu)
  • allow passing ti.Expr/Matrix to ti.func (by Yuanming Hu)
  • ti.Vector.unit (by Yuanming Hu)
  • added a more advanced MGPCG exmaple (by Yuanming Hu)
  • Access out-of-bound checking on CPU backends (Stage 2) (#582) (by xumingkuan)
  • use array of scalars instead of ti.Vector in mgpcg.py (by Yuanming Hu)
  • simplified mgpcg example; multigrid switch (by Yuanming Hu)
  • simplify mgpcg with more templates (by Yuanming Hu)
  • reformat example/mgpcg.py (#584) (by Taichi Gardener)
  • mark side effects for GloatPtrStmt with activation (by Yuanming Hu)
  • Avoid error message formatting for valid accesses (#579) (by xumingkuan)
  • [feature] Access out-of-bound checking on CPU backends (#572), stage 1 (by xumingkuan)
  • [bugfix] fixed type demotion behavior (by Yuanming Hu)
  • simplified examples/mgpcg.py by leveraging new language features (by Yuanming Hu)
  • add mgpcg example (#573) (by KLozes)
  • comments to examples/particle_renderer.py (by Yuanming Hu)
  • Expr.copy_from (by Yuanming Hu)
  • [Refactor] hide MetalStructCompiler to the cpp file (#569) (by Ye Kuang)
  • [Metal] Decouple Metal's runtime from LLVM memory (#568) (by Ye Kuang)
  • Add assertions to prevent infinite loop in least_pot_bound in case of negative snode size (#567) (by xumingkuan)
taichi -

Published by yuanming-hu over 4 years ago

taichi -

Published by yuanming-hu over 4 years ago

taichi -

Published by yuanming-hu over 4 years ago

taichi -

Published by yuanming-hu over 4 years ago

taichi -

Published by yuanming-hu over 4 years ago