【问题标题】:How do I enable python submission scripts on my slurm cluster?如何在我的 slurm 集群上启用 python 提交脚本?
【发布时间】:2020-03-27 16:06:15
【问题描述】:

我可以使用 slurm 访问集群,并希望将其扩展为使用 python 进行 sbatch 提交脚本。我怎么做?

我尝试为我的提交脚本提供不同的解释器路径:

#!/bin/python
#!/usr/bin/python
#!/usr/bin/env python

其中任何一个都没有成功。如何在集群中激活此功能?


为了完成这里是我的测试提交脚本:

#!/usr/bin/env python
#SBATCH --mail-type=ALL
#SBATCH --mail-user=rene_sax14@yahoo.com
#SBATCH --array=1-1
#SBATCH --partition=gpux1

import sys

print(sys.version)
print(sys.path)

def helloworld():
    print('Hello World')

if __name__ == '__main__':
    print('---> DONE')

错误信息:

cat slurm-968_1.out 
import: unable to open X server `' @ error/import.c/ImportImageCommand/369.
/var/spool/slurm/d/job00968/slurm_script: line 19: syntax error near unexpected token `sys.version'
/var/spool/slurm/d/job00968/slurm_script: line 19: `print(sys.version)'
$ cat python_sub_script.py 
#!/bin/python3.6
#SBATCH --mail-type=ALL
#SBATCH --mail-user=rene_sax14@yahoo.com
#SBATCH --array=1-1
#SBATCH --partition=gpux1

import sys

print(sys.version)
print(sys.path)

def helloworld():
    print('Hello World')

if __name__ == '__main__':
    print('---> DONE')

这次我确实检查了 bin 是否有 python3.6,所以这不是问题,请检查一下:

$ ls -lah /bin/python3.6
-rwxr-xr-x 2 root root 67K Aug  7  2019 /bin/python3.6

相关/交叉发布:

【问题讨论】:

    标签: python slurm


    【解决方案1】:

    对我来说,它似乎不起作用,因为我使用的提交命令不是标准的 sbatch,它覆盖了我的标志。

    如果你确保你确实有一个有效的解释器路径(检查ls path/to/interperter 这应该足够了。例如

    #!/bin/python3.6
    #SBATCH --mail-type=ALL
    #SBATCH --mail-user=rene_sax14@yahoo.com
    #SBATCH --array=1-1
    #SBATCH --partition=debug
    #SBATCH --time=4:00:00
    #SBATCH --nodes=1
    #SBATCH --ntasks-per-node=16
    #SBATCH --sockets-per-node=1
    #SBATCH --cores-per-socket=4
    #SBATCH --threads-per-core=4
    #SBATCH --mem-per-cpu=1200
    #SBATCH --export=ALL
    #SBATCH --gres=gpu:v100:1
    
    import sys
    
    print(sys.version)
    print(sys.path)
    
    def helloworld():
        print('Hello World')
    
    if __name__ == '__main__':
        helloworld()
        print('---> DONE')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-23
      • 1970-01-01
      • 1970-01-01
      • 2021-08-01
      • 2020-10-15
      • 1970-01-01
      • 2016-06-02
      • 1970-01-01
      相关资源
      最近更新 更多