[发明专利]一种利用MIC快速实现格子Boltzmann并行加速的方法无效
申请号: | 201210412074.7 | 申请日: | 2012-10-25 |
公开(公告)号: | CN103064819A | 公开(公告)日: | 2013-04-24 |
发明(设计)人: | 张广勇;张清 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F15/16 | 分类号: | G06F15/16 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种利用MIC快速实现格子Boltzmann并行加速的方法,该方法包括:CPU根据物理问题,给定计算域、参考长度、来流速度、密度和雷诺数等参数,并根据MIC卡的核数设计内核的线程数;MIC端通过这些宏观参量(密度、速度、雷诺数和黏性系数等)计算出所有格点上各个方向的平衡态分布函数,以此作为计算的初场,并行求解离散方程和处理边界,并把最终迭代得到的结果回传到CPU端。本发明利用MICMIC端快速计算的特点参与对格子-Boltzmann中的迁移和碰撞的计算,通过CPUCPU端和MICMIC端的协调运作加速格子-Boltzmann的迭代过程。 | ||
搜索关键词: | 一种 利用 mic 快速 实现 格子 boltzmann 并行 加速 方法 | ||
【主权项】:
一种利用MIC快速实现格子Boltzmann并行加速的方法, 其特征在于包括CPU端和MIC端,其中:CPU端将要根据物理问题进行网格划分,给定网格所有格点上的密度、速度、参考长度、雷诺数和黏性系数的宏观参量,同时设定内核的线程执行配置,启动MIC端的并行计算,并接收MIC端的迭代计算结果得到最终的流体状态;MIC端根据所述线程执行配置使用相应的多线程并行地根据所述所有格点上各个方向的平衡态分布函数,依次通过迁移和碰撞、边界处理得到下一个时层的分布函数;具体步骤如下:1)CPU端将要进行网格划分,设定网格所有格点上的宏观参量的初始值,根据所述MIC卡的核数设置并行执行所述迭代计算的线程数,具体包括:根据所述物理问题的要求将流场计算域进行网格划分,所述网格大小为NX*NY,NX为x方向,NY为y方向,所述网格上的节点数为N =NX*NY,根据采用MIC卡的核数设置并行执行所述迁移碰撞计算的线程数,所述MIC卡的核数为M,所述迁移碰撞计算的线程数T=4*M;2)MIC端根据初始的宏观参量,使用一个求分布函数的内核,计算出所有格点上各个方向的平衡态分布函数,然后通过迁移和碰撞、边界处理的多次迭代得到所述流场的收敛状态;3)MIC端给定流场的初始宏观参量和线程执行配置,并传递到所述MIC端的内存中,并在MIC端计算完毕后读取MIC内存中的最终结果;4)MIC端根据所述线程执行配置使用相应的多线程并行地根据所述流场当前时层的分布函数通过迁移碰撞和边界处理得到该流场下一时层的分布函数,具体包括:5)MIC端使用T个线程并行地对所述流体网格的N个格点根据初始的分布函数Fi(0) 或上一步计算得到的分布函数Fi(k)执行所述迁移碰撞和边界处理算法,计算获取所述网格格点的下一时层的分布函数Fi(k+1),所述i取0‑b共b+1个值,分别表示格点上的b+1个方向的分布函数,所述k为等于1或大于1的整数;6)CPU端控制迭代次数,并把MIC端最终的结果回传到CPU端,其中:CPU端控制迭代ITR次,即内核迭代调用ITR次,所述ITR为流体模拟中进行的迭代次数; 7)网格格点在迭代执行ITR次之后,MIC端根据最后的网格格点的分布函数Fi(ITR)计算内核并行计算速度、密度和流函数的流场宏观参量;8)CPU端将MIC端计算得到的速度场、密度场和流函数作为结果写回内存模块中。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210412074.7/,转载请声明来源钻瓜专利网。
- 上一篇:一种混凝土砌块专用粘结剂及其制备方法
- 下一篇:自动制盒机