没有合适的资源?快使用搜索试试~ 我知道了~
GPU架构下的高性能DEM框架:Blaze-DEMGPU
可在www.sciencedirect.com上在线获取ScienceDirectSoftwareX 5(2016)62原始软件出版物www.elsevier.com/locate/softxBlaze-DEMGPU:用于GPU架构的模块化高性能DEM框架放大图片作者:Daniel N.威尔克b,沙尔克角baCSIR,Center for High Performance Computing,Rosebank,Cape Town,7700,南非b比勒陀利亚大学机械和航空工程系,比勒陀利亚,0086,南非接收日期:2015年12月6日;接收日期:2016年4月13日;接受日期:2016年4月15日摘要Blaze-DEMGPU是一个模块化的基于GPU的离散元方法(DEM)框架,支持多面体形状的粒子。高水平的性能归因于GPU架构提供的重量轻和单指令多数据(SIMD)Blaze-DEMGPU提供了合适的算法在GPU上进行DEM模拟,这些算法可以扩展和修改。由于大量的科学模拟是基于粒子的,Blaze-DEMGPU中的许多GPU实现算法和策略可以应用于其他领域。Blaze-DEMGPU将使新的研究人员更容易使用高性能GPU计算,并刺激DEM社区更广泛布拉奇 2016作者由Elsevier B.V.发布。这是CC BY许可下的开放获取文章(http://creativecommons. org/licenses/在/4。0/)。关键词:DEM; GPU;多面体;粒子输运代码元数据代码元数据描述当前代码版本v 02-2015用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-15-00085法律代码许可证BSD许可证使用git的代码版本控制系统使用C++的软件代码语言、工具和服务编译要求、操作环境依赖性NVIDIA CUDA 6.0或更高版本[11]和Python 2.7如果可用,链接到开发人员文档/手册https://github.com/ElsevierSoftwareX/SOFTX-D-15-00085支持问题电子邮件nico.wilke@up.ac.za,wilkedn@gmail.com1. 介绍离散单元法(DEM)[1]作为解决工程问题*通讯作者。电子邮件地址:govender. gmail.com(N. Govender)。涉及粒状和不连续材料的问题。DEM擅长的应用包括颗粒流、粉末力学和岩石力学。离散元法通过引入旋转自由度、接触和复杂几何来模拟质点在我们的例子中,复杂的几何形状是用多面体来描述的。DEM是计算密集型的,这限制了粒子的数量或物理事件的持续时间。http://dx.doi.org/10.1016/j.softx.2016.04.0042352-7110/2016作者。由爱思唯尔公司出版 这是CC BY许可下的开放获取文章(http://creativecommons. org/licenses/by/4. 0/)。N. Govender等人/ SoftwareX 5(2016)6263Ij我我我我我G我DT我IjLsteci˙=×=+模拟. 最近的进展,在最近的邻居搜索的数值算法由于高性能计算核心的数量有限(通常为8-16),CPU架构限制了进一步增加待模拟粒子数量的潜力一些DEM代码通过共享或分布式系统利用现代并行处理能力。图形处理单元(GPU)是并行处理能力的现代补充。GPU与共享和分布式并行系统不同,后者通常只需要对单核代码进行微小的更改或添加。虽然需要很少的额外努力来将并行代码移植到GPU,但是由于GPU上的存储器事务成本以及利用GPU上的更大数量的核所需的显著更大的并行计算,这样的实现在大多数情况下比CPU慢。这种局限性需要从根本上重新思考如何有效地实现DEM,以便在单个和多个GPU设置上随着计算核心的数量进行很好的扩展。NVIDA-GPU架构的一个显著优点是,相同的代码可以在具有数百个核心的低端GPU上扩展到具有数千个核心的高端GPU,这也使得代码可以在集群上扩展多个GPU。算法开发还必须考虑到GPU是内存受限的设备,具有以不同速度执行的各种级别的内存。本文概述了BLAZE-DEMGPU,我们的GPU计算架构的模块化DEM框架[5]。这个框架被设计成在基本能力和功能方面容易扩展这使得GPU架构易于访问,并免费提供给DEM社区。2. 离散元理论粒子i在三维空间中的线性动量为:L=mi vi,(1)其中mi和vi分别是质点i的粒子i在三维空间中的角动量由下式给出:H=Iiωi,(2)其中Ii是惯性张量,ωi是角速度矢量。给定所有作用在粒子i上的力fi,问题就简化为对线动量d2pi= m i2 =fi,(3)积分后,我们得到粒子这里,pi是质点i的质心位置,fifsfb由表面力fs和体积力fb组成。力 矩 tirifs ,其中ri是从质心到表面力矢量的位置矢量由于我们只考虑短程相互作用,这允许我们仅通过接触来重新求解力因此,粒子i上的表面牵引力是与其他粒子接触、与区域边界接触或施加外部载荷的结果。这种限制的好处是,我们可以通过最近邻搜索来解决交互对。2.1. 宽和窄相位接触分辨率宽相位接触通过碰撞检测网格上的最近邻搜索来解决。网格大小由计算域中最大粒子的大小决定。网格位置使用散列函数存储为单个整数。数值上彼此接近的哈希值指示彼此接近的网格位置。这显著提高了搜索与最近邻居的潜在联系的效率[6]。当两个粒子i和j已经被识别为在宽相期间可能接触时,我们进入窄接触分辨相。这里,通过考虑是否已经进行了顶点-面、面-面或边缘-边缘接触来确定是否已经进行了实际接触。该确定基于粒子i和粒子j的相交体积是否大于零[6]。2.2. 法向接触力定律一旦两个粒子i和j之间建立了接触,我们就需要通过本构关系来求解相互作用力。然后可以建立接触距离δij和接触法线nij。此外,还可以估计接触距离变化的速度δstecij我们实现了最简单的本构关系,即线性排斥力和线性耗散力模型,由下式给出:fn=kδij+γ0δstecij.(五)这里,k(N/m)是法向接触刚度,γ(Ns/m)是两个颗粒之间的法向接触阻尼。2.3. 切向接触力定律在这个框架中,我们只考虑由于滑动的摩擦阻力。由于滑动而产生的摩擦阻力是由于两个颗粒之间的相对切向表面速度vt,DT并对固定在物体上的轴绕质心的角动量变化进行积分(欧拉力矩方程),d ωiH =I+ω×H= t.(四)I j和j在接触t=vij−nij(nij·vij),(6)其取决于颗粒之间的相对表面速度vij和接触法线nij。 相对表面接触点处的速度是由于相对平移v64N. Govender等人/ SoftwareX 5(2016)62Ij=×(a) 堆栈在重力作用下下落。(b)筒仓排放。(c)球磨机。图1.一、BLAZE-DEMGPU分布中包含的实际示例模拟使用(a)多面体或(b)两个粒子vij=vi−vj+ri×ωi+rj×ωj,(7)其中rk是从质心到接触点的矢量,ωk是粒子k,k i, j的角速度。相对切向表面速度vt除了库仑指定切向力ft的方向,使其与两个质点的运动方向相反。数值时间积分是基于经典的前向欧拉时间积分方案。积分方案可以很容易地扩展到其他积分方案,如类Verlet算法[7]。3. 仿真能力BLAZE-DEMGPU框架能够模拟多面体和球形颗粒,如图(a)最多可包含32个顶点的多面体可以处理4:1的粒度纵横比,而没有显著的性能降低。虽然更大的颗粒尺寸分布是可能的,但宽相碰撞检测的计算益处减少。模拟使用GPU上的单精度算法进行,这将单个计算中的值范围限制为1 10−6。模拟由三种类型的物理对象构成,即体积对象、表面对象和粒子对象。体积和表面对象可以是静止的,或者可以相对于宽相接触网格平移和旋转,但在估计网格大小时不考虑。粒子对象相对于宽相网格移动,并且在估计宽相接触网格的尺寸时被考虑,因为我们仅对包含粒子的区域进行网格化以提高效率,允许模拟大的几何形状。所有物理对象都存储在GPU上的恒定内存(48kB)中,这是最快的内存,在读取崩溃时延迟最低。浮点数的计算要求是4个字节。为每个对象计算并存储对象的顶点、边对、面法线、面面积和质心注意:顶点指定为正象限中的笛卡尔原点.对于每种类型的粒子对象,还存储未旋转配置中的惯性矩张量。然后通过适当的正交旋转矩阵的前后相乘来计算当前配置中的惯性矩张量。对象的存储器要求是每个顶点12字节、每个质心12字节、每个面法线12字节、每个边对4字节、每个面区域4字节和每个惯性张量24字节,因为仅存储惯性张量的对称部分通过牺牲计算效率,可以将对象的存储扩展到更大的全局内存(2 GB图1说明了代码可能的基本模拟类型。图1(a)是颗粒在重力沉积器中的重力沉积。箱,通常用于填充或模拟溃坝等。它也通常用于基准测试如表1所示。图1(b)是筒仓,其是工业中用于储存和分配颗粒材料的常用装置。图1(c)是使用的球磨机,用于矿物/采矿加工行业中产品的破碎和研磨。BLAZE-DEM框架在GPU架构上的并行计算效率使我们能够通过增加粒子数量和形状复杂性来创建更接近现实的模拟,我们可以在更短的时间内模拟,如表1所示。图2(a)显示了Blaze-DEM在增加模拟中粒子数量方面的优势。我们看到,目前的DEM模拟没有正确地捕捉被模拟的行为,而Blaze-DEM提供了一个非常好的匹配,在现实中看到的[12,14]。图2(b)显示了颗粒形状的影响,筒仓流动中的一个主要问题是流动停止或不平滑的湍流,我们看到使用球体预测平滑流动,而多面体表现出实际观察到的湍流行为。3.1. 影响BLAZE-DEMGPU已针对实验结果和传统CPU DEM代码进行了广泛验证[5,6,14,15]。在[12,14]中,我们分别将代码应用于工业球磨机和筒仓模拟。所得结果与实验符合良好。更重要的是,增加粒子数量的模拟显示,在某些情况下,如图2(a),现有DEM模拟中缺乏粒子,产生的结果是不正确的。因此,使用DEM编码可以作为一种有效的预测工具,N. Govender等人/ SoftwareX 5(2016)6265表1与其它重力叠加模拟程序的比较。Longmore等人 [9]第二次世界大战56× 10 51. 49× 106Radake等人 [10]* 球高20 × 10 620 × 10 6Nvidia SDK(2014)[11]*SphereLow2. 5× 105125× 106BLAZE-DEM[12]* 球体高60× 106100 ×106注:没有公开的GPU/CPU并行多面体代码计算时间(N=5× 105)BLOCKS [13] Polycpu最高5×103186天iDEM[13]Polycpu低5× 1052.8天BLAZE-DEM [6]PolygpuHigh32×10632 min图二. BLAZE-DEMGPU的优点(a)颗粒数量(b)颗粒尺寸。工业颗粒流问题。碰撞检测方法的通用性可以应用于许多领域,一个常见的计算问题。此外,我们的GPU策略已应用于DEM以外的地区[16,17]。4. 软件依赖性BLAZE-DEM是在BSD许可证下分发的自由软件,允许分叉成商业应用程序。它需要NVIDIA CUDA 6.0或更高版本[11]和Python 2.7。除了整个框架的源代码外,仅使用这两个计算平台(可在Windows、MacOS和Linux上免费获得)来确保可移植性。硬件仅限于至少支持CUDA计算能力3.0的NVIDIA GPU卡。此外,我们还提供了一个Python模块,用于生成多面体粒子对象的几何信息。具体来说,给定粒子顶点,模块计算粒子的惯性张量和质心。BLAZE-DEM提交在添加到公共git存储库(可通过gitclonehttps://github.com/ElsevierSoftwareX/SOFTX-D-15-00085)。5. 软件框架图3中概述了硬件和用户指定的仿真数据与代码架构之间的交互。更多详细信息可在开发人员指南中找到图三. BLAZE-DEM开发人员概述的概述。请注意,6. 结论本文提出了一种基于模块化GPU的DEM框架BLAZE-DEMGPU,该框架支持多面体形状的粒子以及大规模球形粒子。据设想,这个框架将使高性能GPU架构的DEM模拟容易访问,它将刺激更广泛的GPU研究工作在DEM社区。引用[1] Cundall P. Strack颗粒集合体的离散数值模型。岩土工程1979;29:47-65.[2] 李文辉,李文辉.离散元法中凸多边形与多面体颗粒接触检测的一种新算法。Comput Geotech2012;44:73[3] 赵东,李晓,等.颗粒材料的三维离散元数值模拟.北京:机械工程出版社,2001.计算机辅助工程计算:内部软件工程杂志2006;23:749-70.作者形状物理保真度N个粒子证号Harida等人[八]《中国日报》聚集低1 .一、64× 1040的情况。66× 10666N. Govender等人/ SoftwareX 5(2016)62[4] W alther JH,Sbalzarini F.颗粒流的大规模并行离散元模拟。工程计算2009;26:688-97.[5] Gov enderN,Wilke D,Kok S,Els R. 凸多面体的展开基于NVIDIA Kepler GPU的离散元件仿真框架。 JCAM 2014;270:63-77.[6] Govender N,Wilke D,Kok S.上凸多面体的碰撞检测离散单元法的NVIDIA GPU架构,J. Appl. Math. Comput.http://dx.doi.org/10.1016/j.amc.2014.10.013网站。[7] 韦尔莱湖经典流体的计算机实验。I. Lennard-Jones分子的热力学性质物理学评论1967;159:98-103。[8] 原田GPU宝石3:GPU上的实时刚体模拟,卷。3.第三章。2008年[9] 放大图片作者:J. 走向现实与互动沙子模拟:一个基于GPU的框架。粉末技术2013;235:983-1000。[10] Neubauer G,Radek CA.基于GPU的粒子模拟框架,液力偶合器能力,NVIDIA GTC 2014,圣何塞,美国,2014年。[11] NVIDIA,Cuda 6(2014年5月)。http://www.nvidia.com/cuda网站。[12] [10]杨文,王文,王文.基于blaze-dem gpu框架的轧机装药三维离散元模拟,J·迈纳。http://dx.doi.org/10.1016/j.mineng.2015.05.010.[13] Jaelee S.大规模离散元与多面体粒子模拟之发展。(博士)伊利诺伊大学厄巴纳-香槟分校; 2014。www.uiuc.edu网站。[14] [10]杨文,杨文,杨文.验证基于GPU的Blaze-DEM框架的料斗卸料。In:Proceedings of the International Conference on Particle-basedMethods 2015 Spain,2015.[15] Govender N,Wilke D,Kok S.基于GPU的多面体粒子DEM传输代码 , NVIDIA GTC 2014 , 美 国 圣 何 塞 , 2014 年 。 http :demand.gputechconf.com/gtc/2014/poster/pdf/P4126。[16] Mei G等人,《在GPU上加速基于拉普拉斯的网格平滑的通用范例》。阿拉伯科学工程杂志2014;39:7907-21.[17] 张伟,田宏. 数据布局对GPU加速的IDW插值,Vol. 五、Springerplus 2014年。p. 104-9
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功