Ice was created in the context of my MSc at McGill University and Mila. The application is a standalone MPM solver written in C++/CUDA. It uses an embedded 3D convolutional neural network to asynchronously identify active regions of the simulation. The experimental results show performance improvements in practical scenarios with no deterioration in worst cases. Although it is not a plugin, a small set of HDAs were created to allow scene creation in Houdini directly. All simulations were rendered with Karma XPU. The following table shows, in video order, the different simulations along with their specifications and performance metrics.
Scene | Particle Count | Grid Resolution | Timestep (×10-4) | Sec/Frame | Adaptive Speedup |
---|---|---|---|---|---|
Ship Breach | 54.0M | 492 × 212 × 492 | 6.9 | 16.6 | 3.38× |
Bullet Time | 24.1M | 688 × 364 × 492 | 4.2 | 17.9 | 1.05× |
Avalanche | 35.5M | 736 × 148 × 760 | 21.0 | 7.5 | 1.53× |
Train Push | 24.9M | 520 × 144 × 1748 | 2.6 | 28.8 | 1.55× |
Rally Drift | 14.9M | 1400 × 196 × 536 | 1.1 | 40.7 | 2.00× |
Glacier Collapse | 39.5M | 320 × 184 × 520 | 6.9 | 16.4 | 1.00× |
Details regarding this project can be found in the thesis (coming soon...):