[发明专利]使用GPU并行实现的基于PIC模型的加速器仿真方法有效
申请号: | 201310413539.5 | 申请日: | 2013-09-09 |
公开(公告)号: | CN103440163A | 公开(公告)日: | 2013-12-11 |
发明(设计)人: | 杨磊;张智磊;李超;齐新;高笑菲 | 申请(专利权)人: | 中国科学院近代物理研究所 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/38 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 李敬文 |
地址: | 730000 甘*** | 国省代码: | 甘肃;62 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 gpu 并行 实现 基于 pic 模型 加速器 仿真 方法 | ||
1.一种使用图形处理单元GPU实现的基于质点网格PIC模型的加速器仿真方法,包括:
a.在主机中产生初始化信息,并将初始化信息从主机复制到计算节点的GPU中,GPU包括多个流处理器;
在GPU中利用多个流处理器并行执行以下步骤:
b.根据初始化信息,确定粒子位置与网格的对应关系;
c.根据粒子位置与网格的对应关系,计算每个网格内所有粒子在网格上的电荷密度权重,得到网格的电荷密度分布;
d.根据网格的电荷密度分布计算网格的电势分布,并根据网格的电势分布计算网格电场分布;
e.计算每个粒子在电场作用下的运动变化,并更新每个粒子的运动状态;以及
f.用每个粒子的更新的运动状态代替初始化信息,迭代地执行步骤b到e,直到粒子运动状态满足设计需求。
2.根据权利要求1所述的方法,其中在步骤b和e中按照一个流处理器对应一个粒子的方式进行GPU并行处理,并且在步骤c和d中按照一个流处理器对应一个网格的方式进行GPU并行处理。
3.根据权利要求1或2所述的方法,其中初始化信息包括三维仿真空间划分所得的网格数目、粒子的数目、粒子的三维位置和速度。
4.根据权利要求3所述的方法,其中步骤b包括:
确定每个粒子的位置所在的网格的编号并存储在数组中;
根据确定的编号对数组中的粒子位置进行排序,使在同一个网格内的所有粒子位置连续排列;
在排序后的数组中获取每个网络内粒子的开始位置和结束位置。
5.根据权利要求4所述的方法,其中在步骤b中采用包括多个并行线程的线程块,每个线程块处理预定数目的网格,并且线程块共享访问GPU中的共享内存。
6.根据权利要求1或2所述的方法,其中,在步骤d中,对电荷密度分布进行三维傅立叶变换,根据频域电荷密度分布计算网格的频域电势分布,并对频域电势分布进行三维傅立叶逆变换,以得到网格的电势分布。
7.根据权利要求1或2所述的方法,其中步骤e包括:计算每个粒子在电场作用下的受力和加速度,并更新每个粒子的三维速度和位置。
8.根据权利要求4中所述的方法,其中步骤e还包括:更新所述数组中的粒子位置,对数组中所有粒子位置排序,并更新每个网格内粒子的开始位置和结束位置。
9.根据权利要求4所述的方法,其中利用排序后的数组,线程块对连续排列的同一个网格内的所有粒子位置进行合并访问。
10.根据权利要求1或2所述的方法,其中在步骤d中利用纹理内存绑定的方法,根据网格的电势分布计算网格的电场分布。
11.根据权利要求1或2所述的方法,其中在步骤e中,改变线程块的大小,并利用改变后的线程块的大小计算每个粒子的运动变化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院近代物理研究所,未经中国科学院近代物理研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310413539.5/1.html,转载请声明来源钻瓜专利网。