运行 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
我有一个程序通常 运行 位于 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