基于 NVIDIA Tesla GPUs 的油藏模拟加速技术
1. 引言
大规模油藏模拟,尤其是当网格块数量超过数百万时,油藏模拟器的运行时间可能会非常长。解决油藏模拟中产生的线性系统是最耗时的部分,例如在 SPE 10 问题中,超过 95% 的运行时间都花在求解线性系统上。因此,高效求解线性系统可以显著加快整个模拟过程。
GPU 在浮点计算方面比传统 CPU 更强大,如今已广泛应用于许多科学领域。本文介绍了利用 GPU 加速黑油模拟器的工作。开发了适用于 NVIDIA GPUs 的新矩阵向量乘法内核及相关 BLAS 1/2 子程序,在此基础上开发了七种 Krylov 子空间求解器,并实现了多种常用预条件器,将这些求解器和预条件器应用于自主开发的黑油模拟器中。以 SPE 10 问题作为基准,实验表明,基于 GPU 的黑油模拟器比纯 CPU 模拟器快约六倍。
2. 迭代线性求解器和预条件器
2.1 稀疏矩阵 - 向量乘法内核
用于 GPU 的矩阵格式是 HEC(混合 ELL 和 CSR),它包含 ELL 矩阵和 CSR 矩阵两个子矩阵。ELL 矩阵有两个矩阵,分别存储列索引和非零元素,每行长度相同;CSR 矩阵包含三个数组,分别存储每行的偏移量、列索引和非零元素。
ELL 矩阵按列优先顺序排列,在 GPU 中对齐,确保 NVIDIA Tesla GPUs 全局内存的数据访问模式良好,数据访问速度快。但 ELL 格式的缺点是,即使只有一行元素过多,所有行的长度也必须相同,会造成内存浪费,因此引入 CSR 矩阵来解决这个问题。
对于 HEC 格式矩阵,相应的稀疏矩阵 - 向量乘法内核由算法 1 描述
超级会员免费看
订阅专栏 解锁全文
5015

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



