Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Goal: Demonstrate best practices using Conda environments with salloc and sbatch.


Conda with salloc and sbatch: Best Practice

As indicated in the Modules and using salloc and sbatch: Best Practice we recommend to perform a module purge when starting an interactive session or submitting a job.

After performing a conda activate on a login node, typically the related set environment variables will be inherited agter performing an salloc. But, notice what happens to the command-line prompt:

[salexan5@mblog1 ~]$ conda activate py_env
(py_env) [salexan5@mblog1 ~]$ python --version
Python 3.12.4

(py_env) [salexan5@mblog1 ~]$ salloc -A arcc -t 10:00
salloc: Granted job allocation 1243597
salloc: Nodes mbcpu-025 are ready for job
[salexan5@mbcpu-025 ~]$ python --version
Python 3.12.4

Which conda environment is currently active?

We would suggest, as with performing a module purge, to conda activate environments explicitly after performing an salloc, and within you scripts that you sbatch.

[salexan5@mblog1 ~]$ salloc -A arcc -t 10:00
salloc: Granted job allocation 1243600
salloc: Nodes mbcpu-025 are ready for job
[salexan5@mbcpu-025 ~]$ module purge
[salexan5@mbcpu-025 ~]$ module load miniconda3
[salexan5@mbcpu-025 ~]$ conda activate py_env
(py_env) [salexan5@mbcpu-025 ~]$ python --version
Python 3.12.4

Again, since this is now detailed within an sbatch-ed script, ARCC can see and replicate exactly what you are doing when there is an issue.


  • No labels