说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211137364.5 (22)申请日 2022.09.19 (71)申请人 西北大学 地址 710127 陕西省西安市碑林区太白北 路229号 (72)发明人 魏利平 魏培绪 李昊琦 李鑫  王帅行 马雯 闫渊  (74)专利代理 机构 西安通大专利代理有限责任 公司 6120 0 专利代理师 马贵香 (51)Int.Cl. G06F 8/41(2018.01) G06F 8/30(2018.01) G06F 16/11(2019.01) G06F 16/31(2019.01)G06F 17/16(2006.01) (54)发明名称 一种基于线性矩阵求解的OpenFOAM加速方 法、 装置、 设备及 介质 (57)摘要 本发明属于计算流体力学领域, 具体涉及一 种基于线性矩阵求解的OpenFOAM加速方法、 装 置、 设备及介质; 本发明在OpenFOAM读入网格信 息生成LDU矩阵之后, 添加一个矩阵格式的转换 操作, 通过编译相关的代码程序, 使得算法能在 DCU加速卡上运行, 然后通过DCU运行OpenFOA M算 例, 将原有的LD U矩阵格式转化为DCU能够计算的 CSR矩阵格式, 采用CSR格式相较传统密集存储 方 法节省了大量空间; 最后调用DCU的内核迭代计 算矩阵, 计算完成后将结果重新转化成OpenFOA M 识别的LDU矩阵, 使得在求解过程中节省了大量 的计算时间, 从而提高了OpenFOAM的求解性能, 同时也为人们在GPU加速性能上提供了参 考。 权利要求书2页 说明书6页 附图3页 CN 115509536 A 2022.12.23 CN 115509536 A 1.一种基于线性矩阵求 解的OpenFOAM加速方法, 其特 征在于, 包括: 步骤1: 在OpenFOAM中进行网格信息读入, 生成LDU格式的矩阵; 设置LDU →CSR矩阵转化 系统, 在DCU中编译相关代码; 步骤2: 通过DCU运行OpenFOAM算例, 读入算例网格信息, 将原有的LDU格式的矩阵转换 成CSR格式的矩阵, 完成矩阵向量 转化; 步骤3: CPU拷贝传入的数据, 并且将CPU端拷贝好的数据传输给DCU内存, 调用DCU的内 核迭代计算矩阵, 收敛后输出CSR格式数据; 步骤4: 将输出的CSR格式数据重新转化为Op enFOAM识别的LDU格式数据, 并将计算结果 传回OpenFOAM 。 2.根据权利 要求1所述的一种基于线性矩阵求解的OpenFOAM加速方法, 其特征在于, 所 述在DCU中编译相关代码为: 编写LDU→CSR格式转换的伪代码, 将此伪代码转换成HIP代码, 并且将解算器采用HIP 代码进行编写集成到DCU中。 3.根据权利 要求1所述的一种基于线性矩阵求解的OpenFOAM加速方法, 其特征在于, 所 述LDU格式的矩阵为OpenFOAM数据储存格式, 在OpenFOAM算例文件controlDict文件中添加 库引用, 在算例文件fvSo lution文件中使用DCU解 算器求解各个物理量。 4.根据权利 要求1所述的一种基于线性矩阵求解的OpenFOAM加速方法, 其特征在于, 所 述步骤2具体包括: 运行OpenFOAM算例, 调用DCU加速卡, 在导入网格后, OpenFOAM根据网格存储相应的LDU 格式数据; 对角元素和上三角下三角元素分别存储在三个向量lduMatrix.diag()、 lduMatrix.upper()、 lduMatrix.lower()中, 上下两个三角元素的索引值共用两个索引向 量; upperAddr存储了上三角元素的行索引, 同时表达了下三角对应元素的列索引, lowerAddr既能表达上三角元素的列索引, 又能表达下三角元素的行索引; 采用格式转换代 码将LDU格式数据转换成CSR格式储存的数据; CSR格式主要通过三个数组来表示矩阵的内 容, 其中Value为矩阵中非零元素的值, Col_Index存储了非零元的列索引, Row_Offsets存 储了每行第一个非零元在Value中的索引, 计算每 个非零元的行索引, 定位非零元。 5.根据权利 要求4所述的一种基于线性矩阵求解的OpenFOAM加速方法, 其特征在于, 所 述矩阵向量转化具体为: 首先遍历LDU矩阵的阶数和下三角、 上三角元素的个数, 计算各行 有多少个非零元素, 按照顺序分别插入 下三角矩阵元素、 对角矩阵元素和上三角矩阵元素, 对每一个矩阵元 素分别计算矩阵值以及其对应的索引值, 返回新 生成的CSR格式矩阵。 6.根据权利 要求1所述的一种基于线性矩阵求解的OpenFOAM加速方法, 其特征在于, 所 述步骤3具体包括: 格式转换完成后, 开始调用DCU加速卡中的解算器求解, 所述解算器根据Op enFOAM中的 PCG或PBiCG算法在DCU上进行修 改, 使用转换完成后的CSR格式进行计算; 计算完成后输出 CSR格式数据, 并且释放DCU内存。 7.根据权利 要求1所述的一种基于线性矩阵求解的OpenFOAM加速方法, 其特征在于, 所 述步骤4中将计算结果传回OpenFOAM后通过后处理工具查看结果, 处理工具为Paraview或 Tecplot。 8.一种基于线性矩阵求 解的OpenFOAM加速装置, 其特 征在于, 包括:权 利 要 求 书 1/2 页 2 CN 115509536 A 2矩阵生成及矩阵转换系统设置模块, 用于在Op enFOAM中进行网格信息读入, 生成LDU格 式的矩阵; 设置LDU →CSR矩阵转 化系统, 在DCU中编译相关代码; 算例网格信息读入模块及矩阵向量转化模块, 用于通过DCU运行Op enFOAM算例, 读入算 例网格信息, 将原有的LDU格式的矩阵转换成CSR格式的矩阵, 完成矩阵向量 转化; 矩阵迭代计算及CSR格式数据输出模块, 用于通过CPU拷贝传入的数据, 并且将CPU端拷 贝好的数据传输给DCU内存, 调用DCU的内核迭代计算矩阵, 收敛后输出CSR格式数据; 矩阵格式重新转化及查看模块, 用于将输出的CSR格式数据重新转化为OpenFOAM识别 的LDU格式数据, 并将计算结果传回OpenFOAM 。 9.一种计算机设备, 包括存储器、 处理器以及存储在所述存储器中并可在所述处理器 上运行的计算机程序, 其特征在于, 所述处理器执行所述计算机程序时实现权利要求 1‑7任 一项所述的一种基于线性矩阵求 解的OpenFOAM加速方法。 10.一种计算机可读存储介质, 所述计算机可读存储介质存储有计算机程序, 其特征在 于, 所述计算机程序被处理器执行时实现权利要求1 ‑7任一项所述的一种基于线性矩阵求 解的OpenFOAM加速方法。权 利 要 求 书 2/2 页 3 CN 115509536 A 3

.PDF文档 专利 一种基于线性矩阵求解的OpenFOAM加速方法、装置、设备及介质

文档预览
中文文档 12 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于线性矩阵求解的OpenFOAM加速方法、装置、设备及介质 第 1 页 专利 一种基于线性矩阵求解的OpenFOAM加速方法、装置、设备及介质 第 2 页 专利 一种基于线性矩阵求解的OpenFOAM加速方法、装置、设备及介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 05:43:45上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。