Skip to main content
QUICK REVIEW

[论文解读] P-Cloth: Interactive Complex Cloth Simulation on Multi-GPU Systems using Dynamic Matrix Assembly and Pipelined Implicit Integrators

Cheng Li, Min Tang|arXiv (Cornell University)|Aug 2, 2020
3D Shape Modeling and Analysis参考文献 59被引用 11
一句话总结

P-Cloth 提出了一种基于多GPU并行计算的交互式高分辨率布料模拟算法,采用流水线稀疏矩阵-向量乘法(SpMV)、动态矩阵组装以及基于空间哈希的流水线碰撞处理技术。通过在4–8块GPU上实现近乎线性的加速比,该系统在包含最多165万三角形的复杂网格上实现了2–5 fps的性能,使通用多GPU工作站首次达到接近交互式的模拟速度。

ABSTRACT

We present a novel parallel algorithm for cloth simulation that exploits multiple GPUs for fast computation and the handling of very high resolution meshes. To accelerate implicit integration, we describe new parallel algorithms for sparse matrix-vector multiplication (SpMV) and for dynamic matrix assembly on a multi-GPU workstation. Our algorithms use a novel work queue generation scheme for a fat-tree GPU interconnect topology. Furthermore, we present a novel collision handling scheme that uses spatial hashing for discrete and continuous collision detection along with a non-linear impact zone solver. Our parallel schemes can distribute the computation and storage overhead among multiple GPUs and enable us to perform almost interactive simulation on complex cloth meshes, which can hardly be handled on a single GPU due to memory limitations. We have evaluated the performance with two multi-GPU workstations (with 4 and 8 GPUs, respectively) on cloth meshes with 0.5-1.65M triangles. Our approach can reliably handle the collisions and generate vivid wrinkles and folds at 2-5 fps, which is significantly faster than prior cloth simulation systems. We observe almost linear speedups with respect to the number of GPUs.

研究动机与目标

  • 解决单GPU在处理包含数百万三角形的高分辨率网格时的内存与计算瓶颈问题。
  • 克服单GPU内存容量有限和内存带宽低的限制,以支持包含自碰撞和精细褶皱的复杂布料模拟。
  • 通过在多个GPU之间分发计算与存储负载,实现在通用多GPU工作站上实现交互式模拟(2–8 fps)。
  • 开发可扩展、低延迟的隐式时间积分与碰撞处理并行算法,最大限度减少数据传输与同步开销。
  • 在多个GPU上实现性能与内存使用的线性可扩展性,同时保持稳健的碰撞响应与逼真的布料动力学特性。

提出的方法

  • 提出一种流水线SpMV算法,通过针对胖树型GPU互连结构定制的新型工作队列生成机制,在GPU之间实现计算与数据传输的重叠。
  • 引入用于稀疏刚度矩阵的动态矩阵组装技术,能够根据模拟过程中变化的接触力自适应调整,从而高效支持预处理共轭梯度(PCG)求解器。
  • 采用空间哈希技术实现离散与连续碰撞检测,将工作负载分布到多个GPU上,降低单个GPU的内存占用。
  • 设计一种并行非线性碰撞区域求解器,通过最小化同步操作处理穿透问题,确保稳定且逼真的碰撞响应。
  • 采用优化的数据传输调度策略的胖树型GPU互连拓扑结构,降低通信延迟并提高吞吐量。
  • 将所有组件集成到统一的多GPU流水线中,支持隐式时间积分、动态矩阵更新与碰撞求解,实现可扩展且负载均衡的并行处理。

实验结果

研究问题

  • RQ1多GPU系统能否在包含超过100万三角形的高分辨率网格上实现接近交互式的布料模拟(2–5 fps)?
  • RQ2如何针对胖树型GPU互连结构优化动态矩阵组装与流水线SpMV,以最小化通信开销并最大化吞吐量?
  • RQ3基于空间哈希的并行碰撞检测与响应能否在多个GPU上有效扩展,同时降低单GPU的内存使用?
  • RQ4与单GPU或CPU系统相比,使用4–8块GPU所能实现的加速比与可扩展性水平如何?
  • RQ5在将计算分布到多个GPU的同时,是否能够保持模拟的稳定性与真实性(如褶皱、折叠、摩擦等)?

主要发现

  • P-Cloth 在使用4–8块GPU的情况下,对包含0.5–165万三角形的复杂布料网格实现了2–5 fps的性能,使通用工作站上实现近交互式模拟成为可能。
  • 系统在8块GPU上实现了高达8.23倍的性能提升(相比单GPU),且在速度上比先前的多GPU SpMV方法快1.4–2.2倍。
  • 单GPU内存使用量降低至4–8 GB,使得模拟超出单GPU内存限制的高分辨率网格成为可能。
  • 流水线SpMV与动态矩阵组装技术在GPU数量上表现出线性可扩展性,有效利用了多GPU资源。
  • 碰撞处理在GPU之间可有效扩展,同步开销极小,能够稳健模拟复杂的自碰撞与褶皱行为。
  • P-Cloth 在复杂基准测试中性能比以往的CPU系统和CPU-GPU混合系统高出约10倍,帧率显著快于Jiang等人(2017)在相似网格上的系统。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。