萨摩亚2

具有数十亿网格单元的结构化三角网格的并行内存高效自适应网格优化。我们提出了一个软件包sam(oa)2,一个动态自适应的,在三角形网格上并行求解二维偏微分方程的软件包。Sierpinski空间填充曲线规定的元素顺序为网格生成、细化和遍历提供了一种固有的内存效率的算法。它完全基于堆栈和流数据结构,完全避免了随机内存访问。基于事件复杂度的局部钩子算法,实现了适合于具体场景的局部事件遍历控制。本文介绍了两个案例研究:非均质多孔介质中的两相流和海啸波传播,并在2011年日本东北部海啸中进行了演示。sam(oa)2基于元素上的Sierpinski顺序,具有混合MPI+OpenMP并行化的特点。由相邻网格单元定义的部分定义了OpenMP工作共享和窃取的原子任务,以及MPI进程之间网格单元的迁移。通过使用优化的通信和负载平衡算法,sam(oa)2在8192个具有100亿个元素的内核上的弱缩放测试中实现了88%的强扩展效率(从16到512个内核),所有测试包括每个时间步的自适应网格细化和负载平衡。