Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This is a custom Confluence template that is intended to be re-used in the creation of workshops presented by ARCC on the Wiki. All of the content in these sections is intended to be replaced by the author of the workshop. The first step in this style guide is to ensure that the the page is in wide mode to maximize the real estate for content when possible. The Title of the Page should be the same as the Title of the workshop and this section should include a quick intro to the topic, why it’s important for ARCC users, and what users should expect to get out of this workshop. Next should be a Table of Contents macro in vertical format. The Table is intended to be used as an agenda section for presenter mode as well as navigation for non-presenting viewing so that users can find the documentation and navigate to what they need to brush up on. Finally, at the end of each section, there should be a divider to indicate the separation of “slides”Goal:

Table of Contents
minLevel1
maxLevel1
outlinefalse
stylenone
typelist
printabletrue

Headers and Sections

...

Code Examples

Two Column Tables are nice ways to separate content/ Background info along with a code example on the same “Slide”. Please notice the table width. This should stop scroll bars from appearing

...

Bullets are nice to include for distinct points

...

yep

...

they

...

sure

...

Code Block
Please use the "code snippet" in the + button when creating code examples. Also please do not go
past the width of the table. This is to prevent scroll bars appearing













This is the Max number of code lines to show on an example

...

Straight Code - No context

Code Block
Limit to 16 lines in the example. 














This is the end

Same Thing With Images

...

Two Column Tables are nice ways to separate content/ Background info along with an image example on the same “Slide”. Please notice the table width. This should stop scroll bars from appearing

  • Bullets are nice to include for distinct points

  • yep

  • they

  • sure

  • are

    This is 14 lines

image-20240514-000033.pngImage Removed

Alternatively No Table

image-20240514-000127.pngImage Removed

Finally The End

...

Link to Previous sub-module or Home Module

...

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

Beartooth Software List

Check Software Pages

...

Setting up your environment 

...

What’s available?

Code Block
[bin]$ cd ~
[~]$ cd intro_to_hpc/
[]$ ml
[]$ module avail
[]$ module load gcc/12.2.0
[]$ ml
[]$ module avail
# What is different compared to the first time we called ml?
[]$ module load gcc/11.2.0
# What happened?

...

What’s available? Compiler tree

Code Block
[]$ module load gcc/11.2.0
# What happened?
Due to MODULEPATH changes, the following have been reloaded:
  1) gmp/6.2.1     2) mpfr/4.1.0     3) zlib/1.2.12     4) zstd/1.5.2
The following have been reloaded with a version change:
  1) gcc/12.2.0 => gcc/11.2.0
# You can only have one compiler loaded at a time within a session.
[]$ ml
[]$ module avail
[]$ module purge
[]$ ml
# What do you notice?

...

What’s available? Modules loaded by default

Code Block
[]$ module purge
The following modules were not unloaded:
  (Use "module --force purge" to unload all):
  1) slurm/latest   2) arcc/1.0
[]$ ml
Currently Loaded Modules:
  1) slurm/latest (S)   2) arcc/1.0 (S)
  Where:
   S:  Module is Sticky, requires --force to unload or purge

...

Module load/spider: Dependencies

Code Block
[]$ module load python/3.10.6
Lmod has detected the following error:  These module(s) or extension(s) exist but cannot be loaded as
requested: "python/3.10.6"
   Try: "module spider python/3.10.6" to see how to load the module(s).

...

What’s different between these command-lines?

Code Block
[]$ module spider python/3.10.6
[]$ module spider python/3.10.8

...

What’s different between these command-lines? Dependencies

Code Block
[]$ module spider python/3.10.6
----------------------------------------
  python: python/3.10.6
----------------------------------------
    You will need to load all module(s) on any one of the lines below before the "python/3.10.6" module is available to load.
      arcc/1.0  gcc/12.2.0
    Help:
      The Python programming language.
[]$ module spider python/3.10.8
----------------------------------------
  python: python/3.10.8
----------------------------------------
    You will need to load all module(s) on any one of the lines below before the "python/3.10.8" module is available to load.
      arcc/1.0  gcc/11.2.0
    Help:
      The Python programming language.

...

Setup Python environment

Code Block
[]$ module purge
[]$ module load gcc/12.2.0
[]$ module load python/3.10.6
[]$ python –version
# Single line:
# Order matters:
[]$ module purge
[]$ module load python/3.10.6 gcc/12.2.0
vs
[]$ module load gcc/12.2.0 python/3.10.6

...

What’s happened to the PATH environment variable?

Code Block
[]$ module purge
[]$ echo $PATH
[]$ module load gcc/12.2.0 python/3.10.6
[]$ echo $PATH
[]$ which python
/apps/u/spack/gcc/12.2.0/python/3.10.6-7ginwsd/bin/python

...

Can we use the R language?

Code Block
[]$ module purge
[]$ r
[]$ R
# Can we find an 'R' module?
[]$ module avail
[]$ module spider r
# What do we see and why?
[]$ module load r/4.2.2
# How do we fix it?

...

Can we use the R language? Fixed

Code Block
[]$ module purge
[]$ r
[]$ R
# Can we find an 'R' module?
[]$ module avail
[]$ module spider r
# What do we see and why?
[]$ module load r/4.2.2
# How do we fix it?
[]$ module load gcc/12.2.0 r/4.2.2
[]$ ml
[]$ R --version

...

Can we also use the Python language?

Code Block
[]$ module load python/3.10.6
[]$ python --version
Python 3.10.6
# Where’s the gcc/12.2.0?
# What happens if we:
[]$ module load gcc/11.2.0 python/3.10.8
[]$ python –-version
[]$ R --version

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.

...