31、图形处理单元上细粒度算法实现及格子玻尔兹曼方法并行模拟

图形处理单元上细粒度算法实现及格子玻尔兹曼方法并行模拟

1. 细粒度算法在图形处理单元上的实现

1.1 细胞自动机模拟

每个细胞有 0 和 1 两种状态,细胞阵列被分解为 2×2 细胞的奇数和偶数方块。模拟过程由迭代组成,一次迭代包括所有偶数方块的同步旋转,然后是所有奇数方块的同步旋转。每个方块独立旋转,方向由伪随机数决定。

该细胞自动机(CA)的实现有两个特殊性质:
- 需要伪随机数(PRN)来计算新的细胞状态,计算所有细胞的新状态所需的 PRN 数量等于细胞数量的一半。
- 为计算新的细胞状态,需要两次生成线程网格,计算量不增加,但全局内存访问量增加,计算时间相应增长。

1.2 伪随机数生成

为生成大周期的 PRN,使用两种类型的生成器:64 位线性同余生成器(LCG)和 32 位梅森旋转算法(MT)。运行 N/K 个 GPU 线程来生成 N 个数字,每个线程生成 K 个数字。K 值较小时,线程初始化占大部分时间;K 值较大时,线程数量少,无法充分发挥 GPU 性能,最佳 K 值通过实验选择。

两种生成器的主要区别在于所需操作数量和操作数类型:
- LCG 使用 64 位操作数。
- MT 使用 32 位操作数,但需要执行更多操作。

不同 GPU 版本下,两种生成器的性能关系不同,为获得更好的数字生成性能,应选择合适的生成器。

1.3 异步细胞自动机(ACA)

以扩散 ACA 为例,模拟过程分为多个步骤,每个步骤随机选择一个细胞,然后将其状态与随机选择的相邻细胞状态交换。由于 ACA 是概率性的,计算新值需

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值