On Shaheen 2, /home is not mounted on compute nodes. This means, even though you can access yours files in your $HOME directory from login nodes but not from compute nodes. Another point to note is that as of January 2022, the /project directory is read-only from compute node. Both these changes have consequence if you are a conda user on Shaheen.
Here are some tips to keep the ball rolling and use conda environments on login and compute nodes on Shaheen.
In the documentation below, I am using my username and my project ID. Please replace is with your corresponding credentials in the paths where it applies.
Install Conda in project directory
You will need to install your miniconda in your project directory so it is accessible from reading on compute nodes. Please create a directory in by following the steps below in your project directory:
Here is me installing miniconda3 in my project directory as an example. Please use your Porject ID of choice in installation path:
bash Miniconda3-latest-Linux-x86_64.sh -u
Welcome to Miniconda3 py39_4.11.0
In order to continue the installation process, please review the license
Please, press ENTER to continue
Notice of Third Party Software Licenses
Do you accept the license terms? [yes|no]
[no] >>> yes
Miniconda3 will now be installed into this location:
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
Do you wish the installer to initialize Miniconda3
by running conda init? [yes|no] no
You have chosen to not have conda modify your shell scripts at all.
Thank you for installing Miniconda3!
conda is now installed in our project directory.
For new environments, they should also be created in project directory so that they are accessible from compute nodes. To this end, you will need to set the following environment variable CONDA_PKGS_DIRS to direct the packages to be installed in a prescribed location other than the default which is $HOME/.cache
Steps involving sourcing the miniconda3 and activating the specific environment is suppose to be done every time you use an installed package. When installing a new package you should have the CONDA_PKGS_DIR set to your project directory.
Install environment in specific path
It is sometimes useful to relocate an environment and install it in a custom path/directory (.e.g in your scratch directory). For this it is suggested that you write an environment.yaml file to list all the software to install. Once done, the following will install the environment in a specific path: