AMSET是基于形变势理论的自动化输运计算工具,能够从 VASP 能带输出出发,一站式给出载流子迁移率、电导率、Seebeck 系数等关键输运性质。
随着掺杂浓度和温度点的增多,散射率计算量急剧膨胀,多核并行成为缩短机时的必备手段。
AMSET 内部采用多进程并行 来加速散射率计算,默认情况下会尝试使用全部可用的 CPU 核心(nworkers = -1)。
但这在集群或个人工作站上很容易触发内存耗尽问题,导致进程被杀。
方式一:
settings.yaml 中,通过 nworkers 控制并发进程数:
nworkers: 4 # 指定使用 4 个进程
方式二:
在启动 amset run 前设置环境变量后,直接加入并行参数
export OMP_NUM_THREADS=1 # 限制每个进程内部只开1个线程export MKL_NUM_THREADS=1 # 如果使用 Intel MKLexport OPENBLAS_NUM_THREADS=1 # 如果后端是 OpenBLASamset run --nworkers 24

