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...):