[发明专利]一种应用于解决粒子模拟并行数据竞争的归约方法有效
申请号: | 201710747274.0 | 申请日: | 2017-08-28 |
公开(公告)号: | CN107704266B | 公开(公告)日: | 2021-03-30 |
发明(设计)人: | 金晓林;刘腾宇;李斌;杨中海 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38;G06F9/52;G06F30/25 |
代理公司: | 电子科技大学专利中心 51203 | 代理人: | 闫树平 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用于 解决 粒子 模拟 并行 数据 竞争 方法 | ||
本发明属于粒子模拟并行技术领域。具体涉及一种应用于解决粒子模拟并行数据竞争的归约方法。本发明通过采用归约的方法实现对粒子模拟中数据竞争部分的并行,每个线程选取固定的三个数据进行处理并固定输出两个数据作为返回值,不会发生不同线程写入数据地址冲突的问题并且不需要对数据做分离预处理,解决了原有归约中因输出数据个数不固定而导致的数据写入冲突的问题,从而可以高效且精确地并行粒子模拟中数据竞争部分,对整个粒子模拟程序的并行度有了极大提升。
技术领域
本发明属于粒子模拟并行技术领域。具体涉及一种应用于解决粒子模拟并行数据竞争的归约方法。
背景技术
近年来计算机技术的迅速发展,使人们可以利用高速度、大容量内存的计算机来模拟复杂的物理问题,因而出现了一门新兴学科——计算物理,其中一个突出应用就是粒子模拟方法。
粒子模拟方法是通过跟踪大量带电粒子在外加及自洽电磁场中的运动并统计平均而得到的宏观特性及运动规律的一种方法。粒子模拟方法不但可以用于物理规律还不胜清楚的基本理论问题的研究,还可用于几何形状和结构都比较复杂的实用等离子体装置的研究和设计。
由于粒子模拟原则上是模拟真实等离子体的行为,在某种程度上可以替代实验,具有计算机实验之称。在利用粒子模拟方法对场与粒子相互作用问题描述时,由于空间网格划分产生的大量网格数及随之而产生的庞大的模拟粒子数目,使得粒子模拟程序的运行效率非常低。针对这种问题,并行计算技术可以很好地对程序实现加速,并且已经被广泛使用,然而由于粒子模拟方法应用中存在大量的数据竞争,这严重地制约了并行效率的提高。
粒子模拟的数据竞争有多种,其中最主要的是源的求解,这可以从粒子模拟的求解流程得出。粒子模拟方法按照求解不同形式的电磁方程,可以分为静电模型、电磁模型和静磁模型。以电磁模型为例,其主要求解流程如图1所示:
在每一个时间步长内,先通过相对论运动方程求出当前时刻粒子的位置和速度,然后对它们进行统计平均得到格点处的电荷密度分布和电流密度分布,然后通过格点上的电荷密度和电流密度利用麦克斯韦方程组求解出这个格点的电磁场,再利用插值的方法求出粒子所受的力,然后利用牛顿洛伦兹运动方程求解出粒子新的位置和速度。这个求解步骤反复迭代,直到系统趋于稳定。
在上述求解流程中,电流源的求解是核心求解步骤,且存在严重的数据竞争。由于场是位于格点上的,所以为了求解场,需要将电流分配至格点上,而为了保持电流分配的精度并抑制数值噪声,每个粒子产生的电流源会同时分配至多个格点,所以求解总的电流源时会存在多个粒子同时操作同一个格点的情况(即数据竞争),而且随着模拟网格数目以及粒子数目的增多,这一数据竞争的情况会愈演愈烈。
如果并行中未对上述电流源求解中的数据竞争进行处理,则并行结果会产生错误,所以为了保证并行计算结果的准确性,数据竞争部分需单独处理。目前对于这种情况,已有两种主要的解决方案。
第一,加锁的方式。假设N号线程在向J号网格写入数据,其它线程都会等待N号线程写入完毕,然后N号线程释放J号网格的数据地址,其它线程才有权对其操作,这种解决方案可以得到正确的结果,但是线程之间的执行顺序是序列化的,没有发挥出多线程能够并行执行的优势。
第二,归约的方式。如图2所示,每个线程计算两个值,直到最后一步,所有数据加到了数组的第一个位置,得到了整个数组的和。这种方式相对加锁的方式来讲效率有明显的提升,对于常规数据竞争问题加速效果明显,但是对于粒子模拟数据竞争问题的并行是不适合的,下面以电流源求解为例进行说明:
每个粒子向周围的格点分配电流值,将这些值附带网格编号存储,如图3。由于粒子对网格分配电流是随机的行为,故一个格点具有竞争的数据个数是未知的,竞争数据分布的位置也是未知的。所以为了使用归约的方法处理该问题,首先要对粒子分配的电流按照电流所属的网格编号进行排序,这样才能使得所有具有竞争的数据分布在一起(如图4所示),然后进行归约计算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710747274.0/2.html,转载请声明来源钻瓜专利网。