Massively-Parallel Implementation of Inextensible Elastic Rods Using Inter-block GPU Synchronization
By: Przemyslaw Korzeniowski, Niels Hald, Fernando Bello
Potential Business Impact:
Simulates flexible things like wires in real-time.
An elastic rod is a long and thin body able to sustain large global deformations, even if local strains are small. The Cosserat rod is a non-linear elastic rod with an oriented centreline, which enables modelling of bending, stretching and twisting deformations. It can be used for physically-based computer simulation of threads, wires, ropes, as well as flexible surgical instruments such as catheters, guidewires or sutures. We present a massively-parallel implementation of the original CoRdE model as well as our inextensible variation. By superseding the CUDA Scalable Programming Model and using inter-block synchronization, we managed to simulate multiple physics time-steps per single kernel launch utilizing all the GPU's streaming multiprocessors. Under some constraints, this results in nearly constant computation time, regardless of the number of Cosserat elements simulated. When executing 10 time-steps per single kernel launch, our implementation of the original, extensible CoRdE was x40.0 faster. In a number of tests, the GPU implementation of our inextensible CoRdE modification achieved an average speed-up of x15.11 over the corresponding CPU version. Simulating a catheter/guidewire pair (2x512 Cosserat elements) in a cardiovascular application resulted in a 13.5 fold performance boost, enabling for accurate real-time simulation at haptic interactive rates (0.5-1kHz).
Similar Papers
Inverse Discrete Elastic Rod
Graphics
Designs bendy things to shape themselves perfectly.
Fast But Accurate: A Real-Time Hyperelastic Simulator with Robust Frictional Contact
Graphics
Makes virtual objects bend and rub realistically.
Geometrically Exact Hard Magneto-Elastic Cosserat Shells: Static Formulation for Shape Morphing
Robotics
Helps robots bend and move in new ways.