多核心计算机中细胞自动机系统的高效实现与路由策略
1. 细胞自动机系统模拟单一反应 - 扩散过程
在许多展现复杂行为的动态系统中,多种物质会进行化学、物理或生物层面的移动与相互作用。物质的移动能力通常独立于反应性相互作用,而反应性相互作用与模拟过程的耗散(主要是化学)特性相关。每种物质的行为可以用一对典型的细胞自动机(CA)来描述,分别称为扩散 CA 和反应 CA,它们构成了简单的扩散 - 反应 CA 系统,是构建复杂 CA 系统的基础模块。
假设 ℵ1 和 ℵ2 分别构成模拟扩散和反应的反应 - 扩散块,将该系统分配到多核处理器的并行算法如下:
1. 创建初始细胞数组 Ω1(0) 和 Ω2(0)。
2. 对于每个迭代 t = 1, …, T:
- 开始并行计算:
- 线程 1:
- 将 Ω1(t) 复制到 Ω′1(t)。
- 对 Ω1(t) 应用 Θ1。
- 线程 2:
- 将 Ω2(t) 复制到 Ω′2(t)。
- 从 Ω′1(t) 读取远程上下文 VT21 并对 Ω2(t) 应用 Θ2。
- 结束并行计算。
3. 将结果 Ω2 复制到 Ω1,t → t + 1。
这个算法对同步和异步扩散 CA 都有效。
下面通过一个例子来说明,一个由两个相互作用的 CA 组成的系统用于模拟金属表面化学反应引起的图案形成过程。CA ℵv = ⟨Av, Xv, Θv⟩ 模拟热量在表面的传播,是一种异步的简单扩散 CA;ℵu = ⟨Au, Xu, Θu⟩ 模拟表面图案的出现,是一个具有加权模板的同步多数类型 CA。两个 CA 都使用布尔字母表 A = {0, 1}。
超级会员免费看
订阅专栏 解锁全文
5814

被折叠的 条评论
为什么被折叠?



