[发明专利]基于CUDA的化工流程模拟软件提高计算速度的方法在审
申请号: | 202010922909.8 | 申请日: | 2020-09-04 |
公开(公告)号: | CN112084650A | 公开(公告)日: | 2020-12-15 |
发明(设计)人: | 许俊炜 | 申请(专利权)人: | 杭州百子尖科技股份有限公司 |
主分类号: | G06F30/20 | 分类号: | G06F30/20;G06F9/50;G06F111/10 |
代理公司: | 杭州九洲专利事务所有限公司 33101 | 代理人: | 沈敏强 |
地址: | 310023 浙江省杭州市余杭区*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 cuda 化工 流程 模拟 软件 提高 计算 速度 方法 | ||
本发明涉及一种基于CUDA的化工流程模拟软件提高计算速度的方法。本发明的目的是提供一种基于CUDA的化工流程模拟软件提高计算速度的方法。本发明的技术方案是:化工流程模拟软件的运算量取决于模拟工程的规模和复杂性,模拟工程规模越大,复杂性越高,计算的维度就越大,而CUDA使用GPU计算的优势在大规模数据的并行计算,维度越大,GPU的效率就越高。本发明适用于化工流程模拟领域。
技术领域
本发明涉及一种基于CUDA的化工流程模拟软件提高计算速度的方法。适用于化工流程模拟领域。
背景技术
化工流程模拟软件是以计算机为辅助工具,模拟一个化工过程的热量和物流衡算等方面的计算,并提供模拟计算结果的程序。CUDA是NVIDIA公司推出的基于GPU的运算平台。该平台提供的通用并行计算架构,使GPU能够解决复杂的计算问题。
化工流程模拟软件将模拟化工过程中的各项数据转化为非线性方程组,在对该方程组求解的过程中,存在大量复杂的计算操作,在一些规模较大的模拟工程中,方程组中的方程数量甚至多达10000个,目前这些计算需要耗费很长的时间和大量的CPU资源,限制了软件的运行效率。
发明内容
本发明要解决的技术问题是:针对上述存在的问题,提供一种基于CUDA的化工流程模拟软件提高计算速度的方法。
本发明所采用的技术方案是:一种基于CUDA的化工流程模拟软件提高计算速度的方法,其特征在于:
S1、通过对计算机性能的测试确定阈值T,作为参数配置到化工流程模拟软件;
S2、化工流程模拟软件搭建模拟工程文件,模拟化工过程建立化工单元模型,并输入相关的物料数据和参数数据;
S3、通过数学建模将模拟工程中的各项数据转化为非线性方程组,表示为其矩阵形式表示为记为F(x)=0
S4、设定[x1(k),x2(k),···,xn(k)]是方程组的一组近似根,方程组中非线性方程对未知数求偏导,将偏导组合成Jacobi矩阵,表示为
S5、根据未知数的值求解非线性方程组的残差,Jacobi矩阵与残差组合成线性方程组,表示为
S6、设定未知数一组初值[x1(0),x2(0),···,xn(0)];
S7、将未知数的值代入F(x),F'(x),得到残差的值;
S8、组织Jacobi矩阵数据,提取矩阵的非零数据,将这些数据的行坐标组织为数组rows,列坐标组织为数组columns,系数的值组织为数组values,残差值组织成数组b;
S9、根据矩阵的维度确定将要采用的算法
S9.1、若维度大于或等于阈值T,采用CUDA提供GPU算法;
S9.2、若维度小于阈值T,则采用CUDA提供的CPU算法;
S10、将求解的结果作为未知数的梯度,通过x(k+1)=x(k)+F'(x(k))-1·F(x(k))计算得到新的迭代未知数值,表示为[x1(k),x2(k),···,xn(k)];
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州百子尖科技股份有限公司,未经杭州百子尖科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010922909.8/2.html,转载请声明来源钻瓜专利网。