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%,既留出余量,又不至于因迭代过多而拖慢总时间。
求解器选择如何影响 HPC 加速
把三类求解器放在一起看,HPC 加速的“可并行维度”完全不同。FEM 的并行维度最丰富:网格分区、矩阵组装、直接法求解、频点扫频都可以并行,但直接法求解的并行效率会随矩阵规模增大而下降,且内存是硬约束。IE 的并行维度集中在矩阵块填充和迭代求解,通信开销大,适合低延迟网络,但内存占用比 FEM 小很多。DDM 的并行维度是子域级,天然适合分布式内存,但子域间迭代次数会抵消一部分并行收益。
实际选择时,可以按以下逻辑判断:
- 模型含复杂介质、需要宽带扫频:优先 FEM + 分布式频点扫频,把频点分到多台机器,单机内用多核做矩阵求解。
- 模型是开放区域金属散射、电大尺寸:优先 IE + MLFMM,用共享内存机器或低延迟集群,避免空气盒网格。
- 模型电大且含介质、单机内存不足:优先 DDM,把模型切成子域分布到多机,每个子域内存可控。
- 模型只有一个频点、网格量中等:FEM 单机多核即可,分布式频点扫频无收益,强行上集群反而因通信开销降低效率。
一个可参考的配置判断示例
假设一个 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 GB | 180 GB 矩阵 + 余量 |
| 互连 | InfiniBand HDR | 频点间数据交换量小,但需低延迟 |
如果模型进一步增大到单频点 400 GB 内存,单机无法容纳,则应改用 DDM:把阵列切成 4 个子域,每个子域约 100 GB,分布到 4 台机器,每台机器再开 16 核做子域内求解。此时加速比取决于子域间迭代次数,通常需要 5~15 次迭代收敛,总时间约为单域串行的 1/3~1/2,而不是理想的 1/4。这个差距正是 DDM 迭代开销的体现,也是选择求解器时必须接受的工程折中。