Billion degree of freedom granular dynamics simulation on commodity hardware via heterogeneous data-type representation

Billion degree of freedom granular dynamics simulation on commodity hardware via heterogeneous data-type representation
复制标题

DOI:
10.1007/s11044-020-09749-7
复制
发表时间:
2020-06
影响因子:
3.4
通讯作者:
Conlain Kelly;N. Olsen;D. Negrut
Conlain Kelly;N. Olsen;D. Negrut
中科院分区:
工程技术2区
文献类型:
--
作者:
Conlain Kelly;N. Olsen;D. Negrut

文献摘要

被引文献

相似文献

我们讨论建模,算法和软件方面,允许称为Chrono::Granular的仿真工具在商品硬件上运行十亿自由度的动力学问题,即,一个GPU的工作站。将解决方案扩展到大问题大小的能力可以追溯到一个维度化过程,结合使用混合精度数据类型,减少内存压力并提高运算强度,明智地使用GPU卡上的内存生态系统,如CUDA在Nvidia架构上所暴露的那样,以及优先考虑执行速度而不是建模通用性的软件实现。该模拟方法被证明为3D场景与高达7.1亿机构的无摩擦的情况下(乳液的相关性),和高达2.1亿机构的摩擦的情况下(相关的地球动力学,增材制造,软物质物理)。摩擦接触模型采用离散元法(DEM)。性能基准测试显示,问题大小与GPU内存容量呈线性扩展。该实现具有应用程序编程接口,使其能够在协同仿真框架中与第三方动力学引擎进行交互。这种相互作用由力-位移数据交换协议锚定,该协议将外部物体引入由三角形网格定义的几何形状。我们展示了协同仿真机制,接口到一个开源的,多物理场仿真引擎称为Chrono。其中,三角形网格定义了Chrono::Granular的移动边界条件,而Chrono::Granular又提供了作用在三角形网格上的力和扭矩。几个测试被认为是验证和缩放分析的目的。当前实施的限制方面是其对单分散颗粒体系的独家支持,以及其缺乏对球体之外的几何形状的处理。这些局限性正在通过不断的工作加以解决。
We discuss modeling, algorithmic, and software aspects that allow a simulation tool called Chrono::Granular to run billion-degree-of-freedom dynamics problems on commodity hardware, i.e., a workstation with one GPU. The ability to scale the solution to large problem sizes is traced back to an adimensionalization process combined with the use of mixed-precision data types that reduce memory pressure and improve arithmetic intensity, judicious use of the memory ecosystem on GPU cards as exposed by CUDA on Nvidia architectures, and a software implementation that prioritizes execution speed over modeling generality. The simulation approach is demonstrated for 3D scenarios with up to 710 million bodies for the frictionless case (of relevance in emulsions), and up to 210 million bodies for scenarios with friction (of relevance in terradynamics, additive manufacturing, soft-matter physics). The frictional contact model used draws on the Discrete Element Method (DEM). A performance benchmark shows linear scaling with problem size up to GPU memory capacity. The implementation has an application programming interface that enables it to interact in a cosimulation framework with third-party dynamics engines. This interaction is anchored by a force–displacement data exchange protocol that brings in external bodies as geometries defined by triangle meshes. We demonstrate the cosimulation mechanism by interfacing to an open source, multiphysics simulation engine called Chrono. Therein, triangular meshes define moving boundary conditions for Chrono::Granular, which in turn provides forces and torques acting on the triangular meshes. Several tests are considered for validation and scaling analysis purposes. The limiting aspects of the current implementation are its exclusive support of monodisperse granular systems, and its lack of handling geometries beyond spheres. These limitations are addressed by ongoing work.