使用Anaconda环境运行qsub

7

我有一个程序通常在Linux的conda环境中运行,因为我使用它来管理我的库,请按照以下说明:

source activate my_environment
python hello_world.py

如何在使用PBS的高性能计算机上运行hello_world.py?指南中解释了需要运行适应代码script.sh,并使用指令qsub调用。

# script.sh
#!/bin/sh
#PBS -S /bin/sh
#PBS -N job_example
#PBS -l select=24
#PBS -j oe
cd $PBS_O_WORKDIR
mpiexec ./programa_mpi

我如何使用qsub在anaconda环境中运行hello_world.py?
4个回答

1

除非默认情况下已经安装,否则还需要在SGE(qsub)脚本中“加载”conda。对于slurm脚本,我认为也是类似的。例如,我已将conda安装到下面在SGE脚本中看到的目录中,因此我导出路径(如果conda作为HPCC上的模块安装,则只需加载即可):

#!/bin/bash
#$ -q compute
#$ -l compute
#$ -cwd
#$ -N name
#$ -j yes

export PATH=$HOME/miniconda3/bin:$PATH

source activate my_environment

environment function code...

0
如果你真的需要你的conda环境,你可以在脚本中激活它。
source ~/.bashrc #configures your shell to use conda activate
conda activate your_env_name

0

source ~/.bashrc

conda activate your_environment

cd $PBS_O_WORKDIR


0

在激活环境和运行脚本之前,您需要加载Python模块。

module load python3

cd $PBS_O_WORKDIR
source activate my_environment

mpiexec python hello_world.py

请查看您所在机构有关其Python模块的文档。在我的机构中,Anaconda是Python3的环境模块,因此您可以像我展示的那样加载它。


什么是 Python 模块? - Minions
@Ghanem,我的意思是module load python3。在超级计算机上,Python不会自动启用,因此您需要在PBS脚本中启用Python或Matlab或其他版本。加载该模块将使该版本的Python成为运行Python脚本时的默认版本。 - m13op22
好的,@HS-nebula,你可以看一下这里:https://stackoverflow.com/questions/56871054/force-shell-to-use-python-from-conda-variable-in-sungrid-engine,我有一个类似的问题。 - Minions
@Ghanem,您能否重新格式化您的评论,使其成为一个链接?我可以尝试,但我从未使用过SunGrid Engine。 - m13op22

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接