Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EPCC Cirrus (slurm) #445

Merged
merged 8 commits into from
Jan 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/test_and_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ jobs:
HPC_JEKYLL_CONFIG:
- Birmingham_Baskerville_slurm
- ComputeCanada_Graham_slurm
- EPCC_Cirrus_pbs
- EPCC_Cirrus_slurm
- HPCC_MagicCastle_slurm
- Magic_Castle_EESSI_slurm
- NIST_CTCMS_slurm
Expand Down
5 changes: 3 additions & 2 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
# `_includes/snippets_library`. To use one, replace options
# below with those in `_config_options.yml` from the
# library. E.g, to customise for Cirrus at EPCC, running
# PBS, we could replace the options below with those from
# Slurm, we could replace the options below with those from
#
# _includes/snippets_library/EPCC_Cirrus_pbs/_config_options.yml
# _includes/snippets_library/EPCC_Cirrus_slurm/_config_options.yml
#
# If your cluster is not represented in the library, please
# copy an existing folder, rename it, and customize for your
Expand Down Expand Up @@ -74,6 +74,7 @@ sched:
info: "sinfo"
comment: "#SBATCH"
hist: "sacct -u yourUsername"
hist_filter: ""

episode_order:
- 10-hpc-intro
Expand Down
18 changes: 9 additions & 9 deletions _episodes/14-modules.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,16 @@ understand the reasoning behind this approach. The three biggest factors are:

Software incompatibility is a major headache for programmers. Sometimes the
presence (or absence) of a software package will break others that depend on
it. Two of the most famous examples are Python 2 and 3 and C compiler versions.
it. Two well known examples are Python and C compiler versions.
Python 3 famously provides a `python` command that conflicts with that provided
by Python 2. Software compiled against a newer version of the C libraries and
then used when they are not present will result in a nasty `'GLIBCXX_3.4.20'
not found` error, for instance.
then run on a machine that has older C libraries installed will result in a
nasty `'GLIBCXX_3.4.20' not found` error.

Software versioning is another common issue. A team might depend on a certain
package version for their research project - if the software version was to
change (for instance, if a package was updated), it might affect their results.
Having access to multiple software versions allow a set of researchers to
Having access to multiple software versions allows a set of researchers to
prevent software versioning issues from affecting their results.

Dependencies are where a particular software package (or even a particular
Expand Down Expand Up @@ -89,10 +89,7 @@ message telling you so
```
{: .language-bash}

```
No Modulefiles Currently Loaded.
```
{: .output}
{% include {{ site.snippets }}/modules/default-modules.snip %}

## Loading and Unloading Software

Expand Down Expand Up @@ -198,7 +195,10 @@ Let's examine the output of `module avail` more closely.
> >
> > ```
> > {{ site.remote.bash_shebang }}
> >
> > {{ site.sched.comment }} {{ site.sched.flag.partition }}{% if site.sched.flag.qos %}
> > {{ site.sched.comment }} {{ site.sched.flag.qos }}
> > {% endif %}{{ site.sched.comment }} {{ site.sched.flag.time }} 00:00:30
> >
> > module load {{ site.remote.module_python3 }}
> >
> > python3 --version
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ sched:
info: "sinfo"
comment: "#SBATCH"
hist: "sacct -u $USER"
hist_filter: ""

episode_order:
- 10-hpc-intro
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
```
No Modulefiles Currently Loaded.
```
{: .output}
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
# `_includes/snippets_library`. To use one, replace options
# below with those in `_config_options.yml` from the
# library. E.g, to customise for Cirrus at EPCC, running
# PBS, we could replace the options below with those from
# Slurm, we could replace the options below with those from
#
# _includes/snippets_library/EPCC_Cirrus_pbs/_config_options.yml
# _includes/snippets_library/EPCC_Cirrus_slurm/_config_options.yml
#
# If your cluster is not represented in the library, please
# copy an existing folder, rename it, and customize for your
Expand Down Expand Up @@ -55,6 +55,7 @@ sched:
info: "sinfo"
comment: "#SBATCH"
hist: "sacct -u yourUsername"
hist_filter: ""

episode_order:
- 10-hpc-intro
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
```
bin etc lib64 proc sbin sys var
boot {{ site.remote.homedir | replace: "/", "" }} mnt root scratch tmp working
dev lib opt run srv usr
```
{: .output}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
```
No Modulefiles Currently Loaded.
```
{: .output}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
* **Hostname**: Where did your job run?
* **MaxRSS**: What was the maximum amount of memory used?
* **Elapsed**: How long did the job take?
* **State**: What is the job currently doing/what happened to it?
* **MaxDiskRead**: Amount of data read from disk.
* **MaxDiskWrite**: Amount of data written to disk.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
> Jobs on an HPC system might run for days or even weeks. We probably have
> better things to do than constantly check on the status of our job with
> `{{ site.sched.status }}`. Looking at the manual page for
> `{{ site.sched.submit.name }}`, can you set up our test job to send you an email
> when it finishes?
>
> > ## Hint
> >
> > You can use the *manual pages* for {{ site.sched.name }} utilities to find
> > more about their capabilities. On the command line, these are accessed
> > through the `man` utility: run `man <program-name>`. You can find the same
> > information online by searching > "man <program-name>".
> >
> > ```
> > {{ site.remote.prompt }} man {{ site.sched.submit.name }}
> > ```
> > {: .language-bash}
> {: .solution}
{: .challenge}
69 changes: 0 additions & 69 deletions _includes/snippets_library/EPCC_Cirrus_pbs/_config_options.yml

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading
Loading