CFD计算非常专业,代码量大,实际上开源的CFD软件较少。 International Journal on Recent and Innovation Trends in Computing and Communication ISSN: 2321-8169Volume: 4 Issue: 4 154-156___________________________________________________________________________________________________________________154IJRITCC | April 2016, Available @ http://www.ijritcc.org________________________________________________________________________________________________________Survey Report on Multi GPU Implementation in Open Source CFDSolverSuraj Salvi, Department of Computer EngineeringPune Institute of Computer TechnologyPune, India 三哥,这篇综述其实水平一般: CFD(计算流体动力学)求解器用于模拟流体流动和传热。它有助于分析科学应用中流体流动的各种参数。OpenFOAM(Open Field Operation and Manipulation)[14]是一种开源软件,可用于解决计算流体动力学(CFD)问题。OpenFOAM可求解各种方程,例如质量守恒、共轭热变换器。OpenFOAM以串行和并行方式解决CFD问题。该项目的动机是通过在GPU上实现来减少解决CFD问题的时间。OpenFOAM是一种软件贡献,它(Open Field Operation and Manipulation)是开源工具。OpenFOAM有很多功能可以解决任何问题,从复杂的液体(或气体)运动在麻烦中混合到化学反应、湍流和热定律,再到固体驱动力和电磁。现有的OpenFOAM是串行执行的,通过引入并行性,可以减少执行OpenFOAM所需的时间。为了引入并行性,系统需要启用CUDA(计算统一设备架构)的CPU(中央处理器)。为了实现并行性,openFOAM需要CUDA支持,而支持是通过gpu库实现的。库用于为单个GPU引入并行性,多GPU可以提高OpenFOAM的性能 1)OpenFOAM是一个开放的起点CFD软件包,能够解决各种流体动力学问题,解决从复杂的液体(或气体)运动在故障化学反应、湍流和热量中混合到固体驱动功率和电磁等不同问题。由于这一重要性,OpenFOAM在科学和物理领域拥有庞大的用户群。[11] 并重视探索其在多核平面结构中发挥作用的能力。OpenFOAM的核心技术是一个由c++单元组成的程序包,它也可以用来制作几个求解器。[22]OpenFOAM的并行帐户我们可以将域划分为子域,在单独的处理器上运行,通过MPI通信协议在处理器之间进行通信。在并行运行后,用户应该重新生成字段数据,以完成整个域和字段。[1] 对于这项工作,我们选择了一种有效的方法,其效果与输入求解器相同,可用于许多科学应用。制定cuda支持背后的直接逻辑是并行化OpenFOAM代码结构,为此目的,获得对OpenFOAM的cuda支持,并为其实现两个或多个GPU代码。为了完成第一项工作,支持库被用来为实现奠定基础。下面的部分讨论了不同的图书馆及其良好的效果[3]。 A.cufflink-libraryCuda For FOAM Link(cufflink)是一个开源库,用于基于Nvidia的计算连接设备建筑和结构设计(CUDA)知识处理机器订单语言和OpenFOAM的C/C++列表的连接数方法。目前,该库从强制到使用与尖点和方法的输入解算器等效的稀疏来获得与OpenFOAM的lduMatrix教学室形成的输入树切割工具=b系统等效的答案并返回答案向量。[4] Cufflink旨在利用OpenFOAM的粗粒度并行性(通过域分解),让多GPU并行性使应用程序使用Cufflink可以更快、更并行。[8] Cufflink支持早期版本,并具有单文件配置。但是,袖扣只能与OpenFOAM代码的扩展叉一起存在。因此,将其与OpenFOAM最新账户2.4.x进行比较是没有用的。[13 B.PyFRPyFR是一个用于非结构化网络的开源计算液体求解器。我们的投入是用清晰的六面体和混合棱柱四面体的无空间网格围绕着一个滚动的圆形物体进行的。具体来说,每个网格操作都是在三个不同的硬件平面结构上以不同的精度阶数进行的值;[21]一个NVIDIA Tesla K40c GPU、一个Intel Xeon E5-2697 v2 CPU和一个AMD FirePro W9100 GPU。[17] 然后,在一个由命名之前的硬件混合而成的异构多节点系统上进行播放是有价值的。结果表明,PyFR完成了一场可以在不同硬件平面结构中进行的游戏。特别是,PyFR以其低水平的开发语言瞄准人的扁平结构的能力导致了重要的一点。重要的是,它赋予了做游戏的更大价值。标记自己用OpenCL攻击每个扁平结构。PyFR也被发现在异构多节点系统上具有性能,完成了准备(待使用)FLOP/s的重要部分。[11 C.AmgXAmgX提供了一种在NVIDIA GPU上增加速率核心求解器技术的简单方法。AmgX为计算上非常强(非常好)的模拟提供了高达10倍的加速度,其效果与模拟的输入求解器部分相当,并且特别好。如果是真的,那么其他一些必然是真的非结构化方式。 D.HYPREHypre,一个由高运算预处理器和求解器组成的软件库,用于求解大尺寸、稀疏的问题,其效果与大规模并行计算机上的方程组输入系统相同。Hypre库的第一个目的是为准备就绪的用户提供更多的并行预处理器。该库具有用于结构化和非结构化网络问题的并行多重网格求解器。为了便于使用,这些解算器是通过Hypre从应用程序代码中引入的,其思想与输入系统连接具有同等的效果,从而实现自然的难题描述。[10] E.OFGPUOFGPU v1.1是我们免费GPL库的最新帐户,该库提供GPU(有时称为GPGPU),其效果与Open FOAM v2.2.x的输入解算器相同。库人员在Windows、Linux、,和(未经测试的)Mac 3 Os X.[16]GPU加速承担了以相对较低的价格和低功耗提高已经很重要的运动速率的任务,这与其他可能发生的事情进行了比较。如果您需要尽最大的努力,我们的OFGPU库与OpenFOAM配合使用,那么我们建议您使用书面产品(即不在视图中显示清晰、完整的图像)高性能NVIDIA提供清晰、完整图像的卡。[6] GitHUB查了一下,CFD做GPU加速确实比较少。 |
说点什么...