Skip to content

Commit

Permalink
v1.0 - First official release
Browse files Browse the repository at this point in the history
  • Loading branch information
ricardobarroslourenco committed Oct 13, 2023
1 parent d321ed6 commit b18b43e
Show file tree
Hide file tree
Showing 27 changed files with 1,655 additions and 2,768 deletions.
21 changes: 5 additions & 16 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions 01-Introduction.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Introduction
The difficulty on finding instructional material that covers the complexities of
writing scientific code, and deploying it in High-Performance Computing (HPC)
environments led to the writing of this guide.

This is a non-exhaustive work, but rather a reference one, in which the author
wishes to reduce the barriers of routine HPC workflows for Remote Sensing run at
the [McMaster University Remote Sensing Laboratory](https://remotesensing-mcmaster.org).

These guidelines are provided without any guarantee, including of support, but
in a best effort to overcome the aforementioned barriers.

I encourage users to suggest corrections, by clicking in the edit button
(available on the online version of this guide), and submitting a pull request.

Other comments can be done though my [social media channels](http://about.me/ricardobarroslourenco/), or via
e-mail: barroslr mcmaster.ca
File renamed without changes.
11 changes: 5 additions & 6 deletions 02-CC.Rmd → 03-CC.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
*Note*: This section is under heavy work. For now, please refer to Compute
Canada's [Wiki](https://docs.computecanada.ca/wiki/Compute_Canada_Documentation).

### Setting up SSH on Compute Canada portal
## Setting up SSH on Compute Canada portal
From January 2022 forward, Compute Canada is enforcing that is mandatory to use
a key to use SSH with their premises (ex.: accessing login nodes). For this, you
need to create a public-private SSH key, and _drop_ the public key at the
Compute Canada user portal, under your account settings.

#### Creating a SSH key
### Creating a SSH key
Some description of this is found at the Compute Canada documentation @CC_ssh_key .
Is good practice to read it, since it covers some specifics.

Expand Down Expand Up @@ -39,7 +39,7 @@ Once you hit the command, you should have on the folder you are running these tw
*WARNING*: The private key is equal to a regular password to the system you are using it to access. Therefore, it is recommended that you assign a key password
(it will be requested when you are generating the key), to assure that if such key is lost/copied/etc, nobody would be able to access this system impersonating you. A series of good practices for ssh keys may be found at this [post](https://security.stackexchange.com/a/144044/275095).

### Depositing the public key on Compute Canada
## Depositing the public key on Compute Canada
Once created the key pair, you need to deposit the *public key* on your Compute
Canada account. A main tutorial is provided [here](https://docs.computecanada.ca/wiki/SSH_Keys)
but you can proceed as follows:
Expand All @@ -66,7 +66,7 @@ To do so, you need to open your _.pub_ file with a simple text editor (ex.: Note

- Then hit _Add Key_. This operation will put your public key on every machine of Compute Canada, and may take up to 30 minutes to be online.

### Accessing a Compute Canada _login node_
## Accessing a Compute Canada _login node_
Once your public key is loaded and synchronized in all machines, you may login a compute node using a terminal (On Windows, you need to use PowerShell; on MacOS, Terminal; and on Linux, your preferred Shell, such as Bash):

```{bash, eval=FALSE}
Expand All @@ -88,7 +88,7 @@ The command opens a SSH terminal session with the following parameters:

<!-- ### Basic Commands -->

### Running batch jobs
## Running batch jobs
If you want to run a R-language batch job, please take a look on the
[CCrecipes repository](https://github.com/ricardobarroslourenco/CCrecipes).

Expand All @@ -115,7 +115,6 @@ module load gcc/9.3.0 r/4.0.2
#R install_script.R
### Export locally installed packages
# TODO: check if this path holds
export R_LIBS=~/local/R_libs/
### Run main_job.R - or any batch script necessary
Expand Down
File renamed without changes.
5 changes: 3 additions & 2 deletions 04-RStudio.Rmd → 05-RStudio.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ _From the cluster login node_ you can build it with the following steps (it is a
module load apptainer
```

Pick up the most recent version of it, and accept.
Pick up the most recent version of it (please note that Docker Hub may have
different tags, with versioning for each), and accept.

**2. Then run the build** (run this command at your _home_, _project_ or _scratch_ folder):
```{bash, eval=FALSE}
Expand Down Expand Up @@ -101,7 +102,7 @@ in your browser:
localhost:9102
```

## Finishing your Running session.
## Finishing your Running session

Do not forget saving your work in partitions that enable saving (ex.: `/home`, `/project`, `/scratch`), because **if you save in a folder within the container, it will not be saved**, after your session ends. Remember that `/scratch` is meant for temporary save, being automatically wiped by the cluster systems after 30 days.

Expand Down
4 changes: 2 additions & 2 deletions 05-Jupyter.Rmd → 06-Jupyter.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ _From the cluster login node_ you can build it with the following steps (it is a
module load apptainer
```

Pick up the most recent version of it, and accept.
Pick up the most recent version of it (note that there may be different tags, each one with its own versioning), and accept.

**2. Then run the build** (run this command at your _home_, _project_ or _scratch_ folder):
```{bash, eval=FALSE}
Expand Down Expand Up @@ -165,7 +165,7 @@ http://127.0.0.1:8888/lab?token=XXXXXXXXXXXXXXXXXXXXXXX

Remember that this is an example, so you need to get the token URL provided by JupyterLab once launching the session.

## Finishing your Running session.
## Finishing your Running session

Do not forget saving your work in partitions that enable saving (ex.: `/home`, `/project`, `/scratch`), because **if you save in a folder within the container, it will not be saved**, after your session ends. Remember that `/scratch` is meant for temporary save, being automatically wiped by the cluster systems after 30 days.

Expand Down
11 changes: 11 additions & 0 deletions 07-Globus.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Globus
Globus is currently a suite of products for Computational Science.
Initially defined as a tool that allowed the establishment of federations,
now it offers a platform that can do, among many features, distributed data
transfers. When referring in this guide to Globus, the author majorly means
Globus Transfer capabilities.

## Documentation
A full documentation of Globus is provided aat their website: https://docs.globus.org

Additional information on how to create an account using the Compute Canada credentials can be found here: https://docs.alliancecan.ca/wiki/Globus
Loading

0 comments on commit b18b43e

Please sign in to comment.