论文部分内容阅读
离散元方法作为科学计算的一种,主要用于计算大规模颗粒在特定力学模型中的运动状态。目前离散元仿真计算被广泛用于研究和分析流动颗粒系统中的不同形态的颗粒间的相互作用。但是传统计算设备的计算能力具有局限性,致使离散元仿真对于大规模颗粒的仿真计算无法达到理想的效果。GPU作为目前高性能计算的加速设备,被越来越多地用于科学计算之中。离散元仿真计算中计算数据规模较大,不同形态离散颗粒模型的数据信息各不相同。利用GPU的并行处理能力提高大规模离散元仿真的计算效率是当前最为有效的加速方法。本文提出三种优化方法针对基于GPU离散元仿真计算进行优化。首先将stencil计算模型应用于球体离散颗粒空间接触受力的计算。第二是通过使用GPU的共享内存实现颗粒受力计算中力学参数的预取,并借助共享内存提升了核心颗粒受力合成的计算效率。最后通过改变线程块与线程网格结构实现了并行粒度的调整。通过在Tesla C2050与Tesla K40这两款GPU上进行多组优化实验,并结合实验结果对GPU架构差异对并行计算的影响进行了分析。根据球体离散元仿真优化的成果,针对复杂形态的扩展多面体模型,搭建了基于GPU的扩展多面体仿真框架。使用不同规模的扩展多面体颗粒数据对基于GPU的扩展多面体离散元仿真框架进行了加速实验,结合两种不同架构GPU的实验结果检验与分析了仿真框架的加速能力。在离散元方法计算流程的基础上,从用户角度出发使用Qt跨平台开发工具开发设计了基于GPU的扩展多面体离散元仿真框架的用户界面。基于GPU的球体离散元仿真计算平台在三种优化方法的辅助下取得了良好的性能提升。针对扩展多面体离散颗粒模型,实现了基于GPU的扩展多面体离散元仿真框架完成了大规模扩展多面体离散颗粒的仿真计算加速。开发的基于GPU的扩展多面体离散元仿真框架的用户界面实现了大规模离散颗粒计算结果的可视化显示。