gpt4 book ai didi

bash - slurm 使用 mpirun conda 环境出错

转载 作者:行者123 更新时间:2023-12-04 08:15:10 26 4
gpt4 key购买 nike

每次使用 mpirun 时都会出错在事件的 conda 环境中的批处理脚本内(但如果我不使用批处理脚本,或者如果我不在 conda 环境中,则不会发生此错误)。
我有一个名为 test.py 的简单测试代码

from mpi4py import MPI

comm = MPI.COMM_WORLD

n_proc = comm.Get_size()

proc_id = comm.Get_rank()

if proc_id == 0:
print('Number of processors = '+str(n_proc))

print('Hello from proc id = '+str(proc_id))
如果我只是运行 mpirun -np 5 python test.py在登录节点中,我得到了预期的结果:
Number of processors = 5
Hello from proc id = 0
Hello from proc id = 1
Hello from proc id = 2
Hello from proc id = 3
Hello from proc id = 4
但是如果我使用以下批处理脚本:
#!/bin/bash

# Submit this script with: sbatch <this-filename>

#SBATCH --time=0:30:00 # walltime
#SBATCH -n 5
#SBATCH --mem-per-cpu=10G # memory per CPU core
#SBATCH --qos=normal # qos
#SBATCH -J "mpi" # job name

## /SBATCH -p general # partition (queue)
## /SBATCH -o slurm.%N.%j.out # STDOUT
## /SBATCH -e slurm.%N.%j.err # STDERR

# LOAD MODULES, INSERT CODE, AND RUN YOUR PROGRAMS HERE
mpirun python test.py
并运行 sbatch batch_script ,然后我收到以下错误:
Error: node list format not recognized. Try using '-hosts=<hostnames>'.
/var/spool/slurmd/job12649152/slurm_script: line 21: 224459 Aborted (core dumped) mpirun python test.py
我尝试添加行 #SBATCH -hosts=n1 ,但我仍然得到完全相同的错误(除了输出文件的文件名变成了 sts=n1 )。我还尝试使用旧版本的 mpich ( mpich/3.2.1 ) 构建另一个 conda 环境,但它也不起作用。

最佳答案

如果任何命令依赖于正在初始化的 Conda 和/或正在激活的环境,则需要调整当前的 shebang。试试吧

#!/bin/bash -l
这将告诉脚本在登录模式下运行,然后将获取初始化脚本(例如, .bashrc ),默认情况下 Conda 初始化代码位于其中。

关于bash - slurm 使用 mpirun conda 环境出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65743997/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com