【问题标题】:Problem running COMSOL in a cluster with SLURM在使用 SLURM 的集群中运行 COMSOL 时出现问题
【发布时间】:2022-04-27 23:38:13
【问题描述】:

我正在尝试使用 COMSOL 软件通过 .sh 脚本将该作业上传到具有 SLURM 的集群:

#!/bin/bash  
#SBATCH --job-name=my_work
#SBATCH --nodes=1 
#SBATCH --ntasks-per-node=20   
#SBATCH --mem=20G
#SBATCH --partition=my_partition
#SBATCH --time=4-0 
#SBATCH --no-requeue  
#SBATCH --exclusive       
#SBATCH -D $HOME 
#SBATCH --output=Lecho1_%j.out
#SBATCH --error=Lecho1_%j.err

cd /home/myuser/myfile/
module load intel/2019b
module load OpenMPI/4.1.1
module load COMSOL/5.5.0

comsol batch -mpibootstrap slurm -nn 20 -nnhost 20 -inputfile myfile.mph -outputfile 
myfile.outout.mph -study std1 -batchlog myfile.mph.log

这样做时我收到以下错误消息:

Fatal error in PMPI_Init_thread: Other MPI error, error stack:
MPIR_Init_thread(805): fail failed
MPID_Init(1743)......: channel initialization failed
MPID_Init(2137)......: PMI_Init returned -1

谁能告诉我这是什么意思以及如何彻底解决它?

【问题讨论】:

  • 我不太清楚 COMSOL 在幕后做了什么,但从脚本和日志来看,您正在使用 OpenMPI 模块,但错误消息(来自 COMSOL)正在使用 MPICH(或其派生词) )。查看 COMSOL 文档以确定要使用哪个 MPI 库(可能是英特尔 MPI,即 MPICH 派生产品)。

标签: bash mpi slurm hpc comsol


【解决方案1】:

您调用 COMSOL 的方式不正确。提交脚本应包含以下行以使用 SLURM 在集群中运行 COMSOL:

#!/bin/bash
#SBATCH --partition=regular
#SBATCH --job-name=COMSOL_JOB
#SBATCH --mem=200gb
#SBATCH --cpus-per-task=1
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=48
#SBATCH --output=%x-%j.out
#SBATCH --error=%x-%j.err

module load COMSOL/5.5

comsol batch -mpirmk pbs -job b1 -alivetime 15 -recover \
-inputfile "mymodel.mph" -outputfile "mymodel.mph.out" \
-batchlog  "mymodel.mph.log"

【讨论】:

    猜你喜欢
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    相关资源
    最近更新 更多