User story
“ Taichi, a perfect programming framework for computer graphics courses.”
In Fall 2021, the Computer Graphics Laboratory (CGL) at ETH Zurich offered a course on physically based simulation, which requires students to create a small game or a demo scene using techniques they learned in class.
The vast majority of the student groups chose the Taichi programming language for real-time physical simulation.
GOAL
Select an efficient parallel programming language and use it to implement a physically based simulation project.
Challenges
- The bar to parallel programming is set high: Few students have previous experience with CUDA.
- The language must provide rich utilities, such as 3D visualization, to facilitate development.
- Run the same parallel programming projects from different computing platforms.
Why Taichi
- Seamlessly embedded in Python: Easier to learn, more intuitive, and as fast as CUDA.
- Taichi's GGUI system makes 3D rendering a breeze.
- A single-source framework: Automatically falls back to CPUs if your system doesn't have CUDA or a powerful GPU.
- An active community and a wide range of reference code make it easy to get started.
Results
- 90% of the projects chose Taichi, and all were completed with flying colors.
- Achieved comparable performance to C++/CUDA with much less code.
Requests for improvement: The future
- Enriched GGUI tooling.
- More descriptive error reports.
- Move comprehensive benchmark reports.
- Further reduced compile time.