2. HFSS求解器与HPC加速原理

HFSS 的 HPC 加速能力并不是一个独立于求解器的“外挂开关”,而是由求解器本身的数学结构决定的。同一个模型,选择不同的求解器,可用的并行维度、内存分布方式、加速比上限都会发生根本变化。理解这一点,才能解释为什么有些模型加满 64 核只快 3 倍,而另一些模型能接近线性加速。

有限元法:稀疏矩阵与频域扫频

HFSS 默认的 Driven Modal / Driven Terminal 求解器基于有限元法(FEM)。它把整个计算区域离散成四面体网格,对电场波动方程做加权余量处理,最终组装成一个大型稀疏复矩阵:

(K - k0² M + jk0 Z) · E = b

其中 K 为刚度矩阵,M 为质量矩阵,Z 为阻抗边界贡献,b 为端口激励向量。这个矩阵的规模随网格量增长,典型电大尺寸模型可达数千万到上亿未知量。FEM 的 HPC 加速主要发生在三个层次:

  • 矩阵组装并行:四面体单元彼此独立,可按网格分区并行填充,加速比通常较好。
  • 直接法求解并行:默认使用 MUMPS 或 Intel PARDISO 等稀疏直接求解器,其并行效率受矩阵填充(fill-in)影响,内存消耗随频率点数增加。
  • 频域扫频并行:离散扫频的每个频点相互独立,可用分布式求解(Distributed Solve)把不同频点分到不同机器,这是 FEM 最容易获得高加速比的维度。

因此,FEM 的 HPC 策略通常是“分布式频点 + 共享内存矩阵求解”。如果模型只有一个频点,加速比会明显受限;如果扫频 101 个点,分布式求解几乎可以按机器数线性扩展。

积分方程法:稠密矩阵与快速多极子

IE 求解器(如 HFSS-IE)只离散金属表面和介质界面,未知量远少于 FEM,但产生的矩阵是稠密的。直接求解稠密矩阵的复杂度为 O(N³),内存为 O(N²),对电大尺寸目标不可接受。因此 IE 求解器依赖快速算法:

  • 多层快速多极子(MLFMM):将远场相互作用聚合、转移、解聚,把复杂度降到 O(N log N)。
  • 自适应交叉近似(ACA):对远场块做低秩压缩,进一步降低内存。

IE 的并行主要沿两个方向:矩阵块填充并行和迭代求解的矩阵向量乘并行。由于迭代求解每步都需要全局通信,IE 的并行效率对网络带宽和延迟非常敏感,通常更适合共享内存机器或低延迟 InfiniBand 集群。IE 的优势在于开放区域辐射、散射问题,不需要吸收边界和空气盒,网格量小,但单机内存容易成为瓶颈。

区域分解法:把大模型切成可并行的小块

区域分解法(DDM)是 HFSS 面向电大尺寸模型的核心 HPC 技术。它把整个计算域切成若干子域,每个子域独立生成网格、独立组装矩阵,子域之间通过传输条件(如 Robin 条件)耦合。DDM 的迭代过程可以写成:

for iter = 1, 2, ...
    并行求解每个子域: A_i · E_i = b_i + C_i · E_neighbor
    交换子域边界场
    检查残差是否收敛
end

DDM 的加速逻辑与 FEM 不同:它把“一个大矩阵”变成“多个小矩阵”,每个子域可以分配到不同机器,内存也随子域分散。子域数量越多,单机内存压力越小,但子域间迭代次数可能增加。实际使用中,子域划分方式、传输条件阶数、迭代求解器设置都会影响收敛速度。一个经验是:子域数量应使每个子域的内存占用落在单机可用内存的 60%~70%,既留出余量,又不至于因迭代过多而拖慢总时间。

HFSS 三类求解器的 HPC 加速结构对比 有限元法 FEM Driven Modal / Terminal 四面体网格离散 未知量 N ~ 10⁶–10⁸ 稀疏矩阵组装 K, M, Z 并行填充 直接法求解 MUMPS / PARDISO 分布式频点扫频 各频点独立 → 高加速比 瓶颈:矩阵填充内存 单频点加速比受限 积分方程法 IE HFSS-IE / MLFMM 表面网格离散 仅金属/介质界面 稠密矩阵 + 快速算法 MLFMM / ACA 压缩 迭代求解 矩阵向量乘并行 块填充 + 迭代并行 通信密集,依赖低延迟网络 瓶颈:全局通信延迟 适合共享内存/IB 集群 区域分解法 DDM Domain Decomposition 全域切分为子域 子域独立网格/矩阵 子域并行求解 A_i · E_i = b_i + C_i · E_neighbor 边界场交换 Robin 传输条件耦合 迭代至残差收敛 子域数↑ → 内存↓,迭代↑ 瓶颈:子域间迭代次数 划分策略决定加速上限

求解器选择如何影响 HPC 加速

把三类求解器放在一起看,HPC 加速的“可并行维度”完全不同。FEM 的并行维度最丰富:网格分区、矩阵组装、直接法求解、频点扫频都可以并行,但直接法求解的并行效率会随矩阵规模增大而下降,且内存是硬约束。IE 的并行维度集中在矩阵块填充和迭代求解,通信开销大,适合低延迟网络,但内存占用比 FEM 小很多。DDM 的并行维度是子域级,天然适合分布式内存,但子域间迭代次数会抵消一部分并行收益。

实际选择时,可以按以下逻辑判断:

  • 模型含复杂介质、需要宽带扫频:优先 FEM + 分布式频点扫频,把频点分到多台机器,单机内用多核做矩阵求解。
  • 模型是开放区域金属散射、电大尺寸:优先 IE + MLFMM,用共享内存机器或低延迟集群,避免空气盒网格。
  • 模型电大且含介质、单机内存不足:优先 DDM,把模型切成子域分布到多机,每个子域内存可控。
  • 模型只有一个频点、网格量中等:FEM 单机多核即可,分布式频点扫频无收益,强行上集群反而因通信开销降低效率。
一个常见的误区是“核数越多越快”。对 FEM 直接法求解,核数超过一定阈值后,矩阵填充的并行效率会饱和,甚至因内存带宽争用而变慢。对 IE 迭代求解,核数增加会放大全局通信次数,加速比可能不升反降。对 DDM,子域数增加会提高并行度,但迭代次数上升,总时间可能先降后升。因此,HPC 加速的关键不是堆核,而是让求解器的数学结构与硬件拓扑匹配。

一个可参考的配置判断示例

假设一个 5G 毫米波阵列模型,工作频率 28 GHz,含 8×8 贴片阵列、介质基板和馈电网络,扫频 27–29 GHz,共 41 个频点。网格量约 1200 万四面体,单频点 FEM 直接法求解需要约 180 GB 内存。若单机只有 256 GB 内存,单频点可以求解,但 41 个频点串行时间过长。此时合理配置是:

配置项建议值理由
求解器Driven Modal FEM含介质基板,IE 不适用
频点并行分布式求解,4 台机器 × 8 频点频点独立,加速比接近 4
单机核数16 核直接法求解在 16 核附近效率较高
单机内存256 GB180 GB 矩阵 + 余量
互连InfiniBand HDR频点间数据交换量小,但需低延迟

如果模型进一步增大到单频点 400 GB 内存,单机无法容纳,则应改用 DDM:把阵列切成 4 个子域,每个子域约 100 GB,分布到 4 台机器,每台机器再开 16 核做子域内求解。此时加速比取决于子域间迭代次数,通常需要 5~15 次迭代收敛,总时间约为单域串行的 1/3~1/2,而不是理想的 1/4。这个差距正是 DDM 迭代开销的体现,也是选择求解器时必须接受的工程折中。

无论选择哪种求解器,都应在小规模模型上先验证并行效率:固定模型,分别用 4、8、16、32 核运行,记录求解时间,绘制加速比曲线。如果加速比在 8 核后明显偏离线性,说明瓶颈不在核数,而在内存带宽、矩阵填充或通信延迟。此时增加核数不会带来收益,应转而调整求解器或并行维度。