首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】N体模拟在异构架构的并行加速实现方法_上海交通大学_202011260657.3 

申请/专利权人:上海交通大学

申请日:2020-11-12

公开(公告)日:2024-06-18

公开(公告)号:CN114490011B

主分类号:G06F9/50

分类号:G06F9/50

优先权:

专利状态码:有效-授权

法律状态:2024.06.18#授权;2022.05.31#实质审查的生效;2022.05.13#公开

摘要:一种N体模拟在异构架构的并行加速实现方法,通过初始化后更新缓冲区,通过CPU内存与GPU显存之间的信息传输后,依次通过GPU以分桶算法计算粒子之间的短程力并返回结果至CPU端;通过CPU计算粒子之间的长程力及加速度后更新粒子速度,最后更新缓冲区粒子的速度信息并当满足条件时结束模拟;本发明在CPU端进行主体程序的计算和数据读取、输出等功能,在GPU端进行程序中热点函数的计算,通过基于粒子‑网格算法,将粒子之间的力分为短程力和长程力,利用CPU和GPU的算力及其架构特点,实现快速计算。

主权项:1.一种N体模拟在异构架构的并行加速实现方法,其特征在于,通过初始化后更新缓冲区,采用混合精度的方法,用int类型数据来存储粒子在粗网格中的位置和速度,用来代替原本的double类型,通过CPU内存与GPU显存之间的信息传输后,依次通过GPU以分桶算法计算粒子之间的短程力并返回结果至CPU端;通过CPU计算粒子之间的长程力及加速度后更新粒子速度,最后更新缓冲区粒子的速度信息并当满足条件时结束模拟;所述的分桶算法,以每个细网格为一个桶,记录在该细网格中的粒子数目和粒子ID,并记录每个细网格周围若干个细网格范围内的粒子数,再把这些数组和粒子的位置、速度数组复制至GPU;所述的短程力,按照修正的万有引力定律和粒子之间的距离计算引力,具体为:其中G为引力常数,m为粒子质量,x为粒子位置,修正参数pcut的计算规则为:|xj-xirsoft,其中nfcutoff为设定的短程力阈值,rsoft是软化参数,防止粒子距离太近导致发生计算数值差异;所述的长程力,按照PM算法采用三维快速傅里叶变换求解泊松方程得到,具体包括:1采用云单元方法向网格中分配质量;2在网格中求引力势的泊松方程在傅里叶空间中的解;3根据势能计算引力,并将引力插入到每个粒子位置;所述的更新粒子速度是指:根据短程力和牛顿第二定律计算粒子的加速度,并计算dt时间后粒子新的速度,并更新粒子的速度信息,具体为:vnew=vold+a*dt,其中:vnew、vold为粒子的新速度和原速度,a为粒子的加速度,其计算方式为:a=fl+fsm,其中fl、fs分别为粒子所受的其余粒子的长程力和短程力,m为粒子质量。

全文数据:

权利要求:

百度查询: 上海交通大学 N体模拟在异构架构的并行加速实现方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。