运行 qsub 与 anaconda 环境

Running qsub with anaconda environment

我有一个程序通常 运行 位于 Linux 的 conda 环境中,因为我用它来管理我的库,使用说明如下:

source activate my_environment
python hello_world.py

如何在使用 PBS 的高级计算机中 运行 hello_world.py。说明说明 运行 调整代码 script.sh,如下所示,并使用指令 qsub.[=13 调用=]

# 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

如何在我的 anaconda 环境中使用 qsub 运行 hello_world.py?

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

module load python3

cd $PBS_O_WORKDIR
source activate my_environment

mpiexec python hello_world.py

查看您所在机构的有关 Python 模块的文档。在我所在的机构,Anaconda 是 Python3 的环境模块,因此您可以按照我展示的方式加载它。

除非默认情况下它在环境中,否则还需要在 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...

如果你真的需要你的 conda 环境你可以在脚本中激活它

source ~/.bashrc #configures your shell to use conda activate
conda activate your_env_name