Fresh improvements come with Taichi v1.0.4!
This new version is mostly about language and syntax updates, as well as a handful of doc improvements. Refer to the complete change log for more details.
Upgrade to Taichi v1.0.4 with a simple command line:
pip install --upgrade taichi
And check out our classy demos:
Clang 15 now works for
Contributor python3kgae proposed adding a DirectX 12 backend to the compiler. So far, they have successfully enabled Clang 15 for
COMPILE_LLVM_RUNTIMEand removed the use of
getPointerElementType. Well done! Note that Clang 10 is still supported.
The development is still ongoing, and there's loads to be done to finalize the feature. You can track the progress here and join the discussion anytime!
Taichi's Numerical Simulation SIG (Special Interest Group) open to external developers!
We have created this dedicated space for anyone interested in using Taichi for numerical simulation. Group members can communicate with each other, have their questions answered by internal engineers promptly, and forge something incredible of their own. You can visit our Computational Fluid Dynamics repo to check what Taichi is capable of.
To get a place in our SIG, join Taichi Community on Slack first and then search for the channel #sig-numerical-simulation.
The Computer Graphics Laboratory (CGL) at ETHETH Zürich, a world-class university in Europe, used Taichi Lang as the creation tool for a course named Physically-based Simulation in the fall of 2021. Taichi's creator, Yuanming Hu, interviewed the students enrolled in the course and summarized why they like Taichi and what to improve in the future. This blog also presents a few representative projects students submitted as coursework. Maybe your research interest also lies in physical simulation, and you might get some inspiration or refreshing ideas from this article!
Supporting the reverse-mode automatic differentiation, Taichi allows you to optimize neural network controllers efficiently with brute-force gradient descent. erizmr wrote this blog to share how to implement a magic fountain that learns to hit a target with the least effort, cleverly using Taichi's autodiff to accelerate the convergence.
Taichi Cookbook 001: Five practical tips on how to master Taichi, a handy parallel programming language embedded in Python Have you ever been troubled by the silent array access violation errors? Or have you tried to optimize the performance of your program, only to be perplexed by where to start? Well, though not lethal, these problems are real headaches. If that's the case, you need to take a look at the first Taichi cooking session, tutored by Yuanming Hu. He generously shares five practical tips and one new feature,
ti.dataclass, to help you use Taichi to its best! For example, you can learn how to auto-debug out-of-bound array accesses and analyze performance with Taichi Profiler. More to discover in this blog.
Fluid simulation on triangle meshes
yhesper created a real-time fluid simulation on the surface of a triangle mesh, based on a modified version of Elcott's SImplicial Fluids algorithm. This stunning work of art is implemented using Taichi Lang and its UI system GGUI.
Embed Taichi Lang in Unreal Engine
cgerchenhp shows it can be pretty effortless to integrate Taichi into Unreal Engine. Making the best of Taichi's high-performance parallel computation and UE's support for Python (via the plugin TAPython), you can also build your breathtaking 3D scenes starting from here.
Rigid body simulation based on shape matching
The shape matching algorithm provides a particle-based approach to rigid body simulation. Thus, it makes coupling with SPH-based fluid simulation easier, enabling fluid-structure interaction and shape transition. Using Taichi Lang to implement shape matching, chunleili completed a rigid body simulation project, the essential part of which is neatly done within 30 LoCs. This project can also be conveniently adapted to simulate elastic and plastic bodies.
Using Taichi features in Julia
lucifer1004 managed to export the Python module Taichi as a constant
tiso that most of Taichi's features can be directly called in Julia. More details are given on the project page. Try reproducing a Taichi demo in Julia and share with us your work and thoughts!
Your contribution is indispensable to the prosperity of the Taichi community. Following are some useful references.
Information about what to contribute and how to contribute to Taichi.
Identify untaken, ongoing, closed, or fixed issues at a glance.
Our global forum for discussions about our features, bugs, roadmaps, and more.
A curated list of awesome Taichi applications and resources.
So far so good. Good-bye for now!👋