Curl-Curl方程是地球物理学中时谐电磁问题的基础。在大地电磁测深和可控源电磁等地球物理频率域电磁方法中,Curl-Curl方程的求解可能占据总反演计算成本的95%以上,因此,其高效求解成为了电磁模拟与反演工作的关键问题。求解Curl-Curl方程离散的大型稀疏线性系统所需的大多数基本运算(如矩阵-向量乘法或向量加法)均受计算机内存的数据吞吐速度的限制。然而,在此领域以往发表的电磁模拟与反演计算代码多数仍为基于中央处理器(CPU)的传统算法,而无法利用近年来快速发展的图形处理器(GPU)的高性能和高显存吞吐速度的优势。
图1. CPU-GPU混合计算的双层并行化计算框架
针对这一问题,中国地质大学(北京)地球电磁学课题组的董浩博士及其合作者基于其之前提出的正则化无散Curl-Curl方程求解算法,发展了一种混合CPU-GPU数值模拟框架,以有效利用GPU显存的高吞吐量带宽求解频率域电磁反演中的正演及伴随问题。在这一框架中,Curl-Curl方程由交错网格有限差分近似产生的大型稀疏线性系统,可以利用Krylov子空间求解器,通过混合精度GPU算法实现快速求解,进而高效的进行时谐电磁法正演和伴随计算。图2.并行CPU和CPU-GPU混合系统的反演计算时间比较;蓝色分别代表为1个CPU计算节点(13内核),2个CPU节点(26内核)和4个CPU节点(52内核)的计算时间;橙色分别代表由1个,2个,3个和4个CPU内核与单个GPU组成混合系统的计算时间。注意在此单CPU节点(13内核)的结果被设为基准(1x)
实测数据的三维正反演算例测试显示,该研究开发的CPU-GPU混合算法的效率有望显著提高Curl-Curl方程的求解效率,混合算法的速度可达传统CPU算法的30倍;在新算法的测试中,具备单张消费级GPU显卡的工作站上进行的大地电磁反演计算速度,已经超过了利用传统算法的4节点CPU服务器的速度。这一新算法使得在小型GPU计算平台上进行大规模三维频域电磁反演成为可能,并进一步推进了复杂三维电磁反演方法的实用化。以上研究工作于2024年2月以“Hybrid CPU-GPU solution to regularized divergence-free curl-curl equations for electromagnetic inversion problems”为题发表于期刊《Computers and Geosciences》上(IF = 4.4)。董浩是论文的第一和通讯作者。该工作由中国国家自然科学基金(4227040447 及 4212100033)以及美国国家自然科学基金(EAR-1948874)资助,研究工作的详细信息请参照原文。原文信息:Dong, H., Sun, K., Egbert, G., Kelbert, A., & Meqbel, N. (2024). Hybrid CPU-GPU solution to regularized divergence-free curl-curl equations for electromagnetic inversion problems. Computers & Geosciences, 184, 105518.https://doi.org/10.1016/j.cageo.2024.105518https://github.com/dong-hao/ModEM-GPU