运行 SLURM 中的多文件程序

Running a multi-file program in SLURM

我正在阅读有关在家中设置小型 SLURM 集群的教程,并对以下内容感到好奇:到目前为止,所有 examples/tutorials 都在谈论执行一行代码,一个 python 脚本,或集群上的单个可执行文件多次针对不同类型的输入等

在我的例子中,我有一个名为 main.py 的主要 python 脚本,它使用几个子目录中的模块,还有一个子目录包含要使用的共享 C 库。如果我只告诉 slurm 执行 main.py,比如说,使用以下脚本:

#!/bin/sh
#SBATCH -N 1      
#SBATCH -n 1      
#SBATCH -c 4      
#SBATCH --mem=10  
#SBATCH -t 0:01:00

module load python
python main.py

我假设当 main.py 被发送到计算节点进行处理时它会阻塞,因为计算节点在子目录中没有任何 python/C 依赖项之前提到过。

是否需要一个文件可执行文件,它可能仅引用所有计算节点上预安装的库才能使 slurm 工作?

Slurm 期望计算节点可以使用所有依赖项和文件,通常是通过网络文件系统,例如 NFS, or a parallel filesystem such as Lustre 仅举两个。