github taichi-dev/taichi 0.5.8
v0.5.8

latest releases: v1.7.2, v1.7.1, v1.7.0...
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)

Don't miss a new taichi release

NewReleases is sending notifications on new releases.