UAF-RCS HPC Documentation
  • README
  • RCS High Performance Computing (HPC) Documentation
  • Request an Account
  • Getting Started
    • Introduction
    • Linux Training/Overview
    • SSH
    • Nodes
    • Using VNC to Login
    • Migrating to the New Environment
  • Available Filesystems
    • Available Filesystems
  • Using Batch
    • Batch Overview
    • Available Partitions
    • Common Slurm Commands
    • Batch Scripts
    • Interactive Jobs
    • Select a Processor Architecture
  • Third Party Software
    • Third-Party Software
    • Installing Your Own Software
    • Using the Software Stack
    • Using Software Collections (SCL)
    • Complier Toolchains
    • Maintained Software Packages
    • Singularity
    • Miniconda
    • Jupyter
    • Lmod
  • Compiling Source
    • Compiling from Source Code
  • System Architecture
    • System Architecture
  • Community Condo Model
    • Community Condo Model
  • Policies
    • Policies
Powered by GitBook
On this page
  • Using an SCL
  • Using an SCL in a SLURM Job
  • More Information
  1. Third Party Software

Using Software Collections (SCL)

Software Collections, also known as SCLs, provide additional versions of system tools to be installed and used alongside the default version. This extends the lifetime and utility of the OS on chinook.

Using an SCL

To run an executable from a particular SCL, type the following command at a shell prompt:

$ scl enable software_collection... 'command...'

Or, alternatively, use the following:

$ scl enable software_collection... -- command...

Replace "software_collection" with a space-separated list of SCLs you want to use, and "command" with the command you want to run. For example, to start a session with python version 3.6.X:

$ scl enable rh-python36 -- bash -l

When in an SCL session, the exit command will end the session. A second exit command will have to be executed to end the login session.

Using an SCL in a SLURM Job

In order to use an SCL in a batch job, the job script either has to launch using scl to load the desired software, or the job script has to execute another script that does so. To launch a bash script (including a job script) that loads the python 3.6.X SCL, for example, put the following as the first line.

#!/usr/bin/scl enable rh-python36 -- /bin/bash

Until the script exits, any python commands or scripts will then be executed using python 3.6.9 instead of the system default.

Alternately, individual commands, or scripts, can be executed using the scl command to load desired SCLs just for the duration of that command. For example, put the following in a job script to execute a python script using python 3.6.X instead of the system default version.

/usr/bin/scl enable rh-python36 ./test.py

If you are passing command line arguments to your script you will need to enclose your script and command in double quotes:

/usr/bin/scl enable rh-python36 "./test.py -n arg1"

More Information

scl usage information is available with the "-h" option.

man scl displays the man page.

PreviousUsing the Software StackNextComplier Toolchains

Last updated 5 years ago

https://wiki.centos.org/AdditionalResources/Repositories/SCL