Intro to Accessing the Cluster and the Module System - Archive
Introduction: This workshop will introduce users on how to remotely access the clusters and how to set up and personalize their environment for their computational needs. After the workshop, participants will understand:
How to (remotely) access the cluster.
How to set up various environments allowing the use of a variety of programming languages, applications, libraries and utilities.
Participants will require an intro level of experience of using Linux, as well as the ability to use a text editor from the command line.
Course Goals:
Introduce a number of ways to access the Beartooth cluster.
What is LMOD and how to use it to set up an Environment.
01: Accessing the Cluster
Topics:
Access the Beartooth Cluster
Navigate various folders.
Take a look at the basic system/cluster.
Exercises: Log on, and create and run a python script
(SSH onto a login node – if using an existing ARCC account.)
Access via SouthPass and start a shell terminal tab.
Commands:
man
,id
,groups
Commands:
arccquota
Create and run a Python script.
You have an Existing Account: Log on
There are a number of ways to access the cluster: Logging Into HPC:
Open up a terminal.
Use a client such as MobiXTerm
ssh <username>@beartooth.arcc.uwyo.edu
[username@blog1 ~]$
# UW: Beartooth (blog1/blog2)
Temporarily use a test account:
Open up Chrome
Navigate to: https://southpass.arcc.uwyo.edu/
Start Beartooth Shell Access
Download Slides:
Opening Screen:
Message of the day
Storage usage - across project spaces
General Format:[<username>@<server/node-name> <folder>]$
[<username>@blog2 ~]$ arccquota
# ‘man’ is only available on the login nodes.
# It is not available on the compute nodes.
[<username>@blog2 ~]$ man id
[<username>@blog2 ~]$ id –-version
[<username>@blog2 ~]$ id
[<username>@blog2 ~]$ groups
Which groups?
[arcc-t05@blog1 ~]$ id
uid=10339923(arcc-t05) gid=10339923(arcc-t05) groups=10339923(arcc-t05),89997(beartooth),446824(uwit-research-arccanetraining),5735503(teton_backup),6000211(arccanetrain)
[arcc-t05@blog1 ~]$ groups
arcc-t05 beartooth uwit-research-arccanetraining teton_backup arccanetrain
Beartooth: FileSystem
Type | Location | Description |
home | /home/<username> | Space for configuration files and software installations. |
project | /project/<project-name>/[username] | Space to collaborate among project members. Data here is persistent and is exempt from purge policy. |
gscratch | /gscratch/<username> | Space to perform computing for individual users. Data here is subject to a purge policy defined below. |
node local scratch | /lscratch | Only on compute. |
memory filesystem | /dev/shm | RAM-based tmpfs available as part of RAM for very rapid I/O operations; small capacity. |
Home and Project Folders:
Copy files:
Let's run a python script:
Let's run a python script: Fixed:
02: Setting up the Environment and LMOD
Topics:
LMOD: Setting up an Environment.
What’s available.
How to find (spider) modules.
Loading / purging modules.
Dependencies.
What do we have available?
Compilers and eco systems: GNU family, Intel’s oneAPI, Nvidia’s hpc-sdk
Languages: C/C+, Fortran, Go, Java, Julia, Perl, Python, R, Ruby, Rust
Scientific libraries and toolkits: Built with a specific compiler: GNU by default
Standalone applications and utilities: Installed using:
Conda
Containers: running Singularity (not Docker)
We can create a Singularity image from a Docker image.
Binaries/Executables
Setting up your environment:
Exercises
Environment variables: env, echo
Find and load modules.
Commands: module spider/load/purge/ml
Understand dependencies and compiler stacks.
Run our python script using a specific version of python.
Load R (and Python).
Default modules – why define the module version.
Environment Variables:
What’s being used?
You can’t break the System:
sudo: you will not be granted sudo access – do not ask!
What’s available?
What’s available? Compiler tree:
What’s available? Modules loaded by default:
Module load/spider: Dependencies:
What’s different between these command-lines?
What’s different between these command-lines? Dependencies:
Setup Python environment:
What’s happened to the PATH environment variable?
Can we use the R language?
Can we use the R language? Fixed:
Can we also use the Python language?
Remember:
Only one compiler/version can be loaded into your environment at a time.
Can only load languages/applications built with the same compiler.
But, even this can introduce dependency issues.
Defaults:
Defaults:
Modules change and are updated.
The defaults will change and update – you might not realize.
Please define the version of a module you’re using.
Helps to replicate and triage.
Advanced: Why do versions matter?
Consider Python Packages installed using pip
:
You install a package with respect to the version of python you are using.
A packages is not automatically available/installed across different versions.
If you start using
python/3.9
and then swap topython/3.10
you will need to re-install any packages.
It is the same concept for R libraries.
Summary
LMOD: Setting up an Environment.