Summary and Schedule
Prerequisite
To begin this lesson you must have completed the following
- Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they can download and run MobaXterm on. Alternatively, they should have a few specific software packages installed (listed in the Setup section below). They are also required to abide by the ARCHER2 Training Code of Conduct.
- Complete the software/system setup including the connection to ARCHER2 via SSH.
General Information
This lesson is an introduction to using high-performance computing systems effectively. We obviously can’t cover every case or give an exhaustive course on parallel programming in just one lesson of teaching time. Instead, this lesson is intended to give students a good introduction and overview of the tools available and how to use them effectively.
By the end of this lesson, students will know how to:
Checklist
- Identify problems an HPC system can help solve
- Use the UNIX shell (also known as terminal or command line) to operate a computer, connect to an HPC system, and write simple shell scripts.
- Submit and manage jobs on an HPC system using a scheduler, transfer files, and use software through environment modules.
Setup Instructions | Download files required for the lesson | |
Duration: 00h 00m | 1. Why Use HPC? |
Why would I be interested in High Performance Computing (HPC)? What can I expect to learn from this course? :::::: |
Duration: 00h 30m | 2. Connecting to the remote HPC system |
How do I open a terminal? How do I connect to a remote computer? What is an SSH key? :::::: |
Duration: 01h 10m | 3. Moving around and looking at things |
How do I navigate and look around the system? :::::: |
Duration: 01h 30m | 4. Working with files |
How do I create/edit text files? How do I move/copy/delete files? :::::: |
Duration: 02h 15m | 5. Wildcards and pipes |
How can I run a command on multiple files at once? Is there an easy way of saving a command’s output? :::::: |
Duration: 03h 05m | 6. Scripts, variables, and loops |
How do I turn a set of commands into a program? :::::: |
Duration: 04h 00m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
Setup
There are several pieces of software you will wish to install before the workshop. Though installation help will be provided at the workshop, we recommend that these tools are installed (or at least downloaded) beforehand.
Bash and SSH
This lesson requires a terminal application (bash
,
zsh
, or others) with the ability to securely connect to a
remote machine (ssh
).
Where to type commands: How to open a new shell
The shell is a program that enables us to send commands to the computer and receive output. It is also referred to as the terminal or command line.
Some computers include a default Unix Shell program. The steps below describe some methods for identifying and opening a Unix Shell program if you already have one installed. There are also options for identifying and downloading a Unix Shell program, a Linux/UNIX emulator, or a program to access a Unix Shell on a server.
Shell Setup
Details
Setup for different systems can be presented in dropdown menus via a
solution
tag. They will join to this discussion block, so
you can give a general overview of the software used in this lesson here
and fill out the individual operating systems (and potentially add more,
e.g. online setup) in the solutions blocks.
Computers with Windows operating systems do not automatically have a Unix Shell program installed. In this lesson, we encourage you to use an emulator included in MobaXterm for Windows, which gives you access to both Bash shell commands and SSH.
Once installed, you can open a terminal by running the program MobaXterm from the Windows start menu.
Reference
- MobaXterm — Recommended
- Git for Windows — Alternative option used by other Software Carpentries
- Windows Subsystem for Linux — advanced option for Windows 10
Alternatives to MobaXterm and Git for Windows
Other solutions are available for running Bash commands on Windows. There is now a Bash shell command-line tool available for Windows 10. Additionally, you can run Bash commands on a remote computer or server that already has a Unix Shell, from your Windows machine. This can usually be done through a Secure Shell (SSH) client. One such client available for free for Windows computers is PuTTY. See the reference below for information on installing and using PuTTY, using the Windows 10 command-line tool, or installing and using a Unix/Linux emulator.
For advanced users, you may choose one of the following alternatives:
- Install the Windows Subsystem for Linux
- Use the Windows Powershell
- Read up on Using a Unix/Linux emulator (Cygwin) or Secure Shell (SSH) client (Putty) > ## Warning > > Commands in the Windows Subsystem for Linux (WSL), Powershell, or Cygwin > may differ slightly from those shown in the lesson or presented in the > workshop. Please ask if you encounter such a mismatch — you’re > probably not alone.
On macOS, the default Unix Shell is accessible by running the
Terminal program from the /Application/Utilities
folder in
Finder.
To open Terminal, try one or both of the following:
- In Finder, select the Go menu, then select Utilities. Locate Terminal in the Utilities folder and open it.
- Use the Mac ‘Spotlight’ computer search function. Search for:
Terminal
and press Return.
On most versions of Linux, the default Unix Shell is accessible by running the (Gnome) Terminal or (KDE) Konsole or xterm, which can be found via the applications menu or the search bar.
Special cases
If none of the options above address your circumstances, try an
online search for: Unix shell [your operating system]
.
This setup takes you through getting ready for the course by ensuring you have an SSH client installed and registering for an ARCHER2 account (you can also use an existing ARCHER2 account if you are already a user).
Setup an SSH client
Details
All attendees should have an SSH client installed. SSH is a tool that allows us to connect to and use a remote computer as our own. Please follow the directions below to install an SSH client for your system if you do not already have one.
Modern versions of Windows have SSH available in Powershell. You can
test if it is available by typing ssh --help
in Powershell.
If it is installed, you should see some useful output. If it is not
installed, you will get an error. If SSH is not available in Powershell,
then you should install MobaXterm as described below.
An alternative is to install MobaXterm from https://mobaxterm.mobatek.net. You will want to get the Home edition (Installer edition). However, if Powershell works, you do not need this.
macOS comes with SSH pre-installed, so you should not need to install anything. Use your “Terminal” app.
Linux users do not need to install anything, you should be set! Use your terminal application.
Connect to ARCHER2
Details
Note: If you already have an ARCHER2 account you can use that for this course. Please see see the notes at the end of this page rather than requesting a new account. Of course, if you prefer to sign up for another ARCHER2 account specifically for this course, you are welcome to do this instead!
Please sign up for your account on our HPC machine, ARCHER2, which will be available to you for the duration of the course and for a few days afterwards, to allow you to complete the practical exercises and put some of what you have learned into practice.
Sign up for a SAFE account
To sign up, you must first register for an account on SAFE (our service administration web application):
If you are already registered on the SAFE you do not need to re-register. Please proceed to the next step.
- Go to the SAFE New User Signup Form
- Fill in your personal details. You can come back later and change them if you wish. Note: you should register using your institutional or company email address - email domains such as gmail.com, outlook.com, etc. are not allowed to be used for access to ARCHER2
- Click “Submit”
- You are now registered. A single use login link will be emailed to the email address you provided. You can use this link to login and set your password.
Sign up for an account on ARCHER2 through SAFE
- Login to SAFE
- Go to the Menu “Login accounts” and select “Request login account”
- Choose the
ta140
project “Choose Project for Machine Account” box and click “Next” - On the next page, the ARCHER2 system should be selected. Click “Next”
- Enter the username you would prefer to use on ARCHER2. Every username must be unique, so if your chosen name is taken, you will need to choose another
Now you have to wait for the course organiser to accept your request to register. When this has happened, your account will be created on ARCHER2. Once this has been done, you should be sent an email. If you have not received an email but believe that your account should have been activated, check your account status in SAFE which will also show when the account has been activated. You can then pick up your one shot initial password for ARCHER2 from your SAFE account.
Generate an SSH key pair and upload it to SAFE
In addition to your password, you will need an SSH key pair to access ARCHER2. There is useful guidance on how to generate SSH key pairs in the ARCHER2 documentation.
Once you have generated your key pair, you need to add the public part to your ARCHER2 account in SAFE:
- Login to SAFE
- Go to the Menu “Login accounts” and select the ARCHER2 account you want to add the SSH key to
- On the subsequent Login account details page click the “Add Credential” button
- Select “SSH public key” as the Credential Type and click “Next”
- Either copy and paste the public part of your SSH key into the “SSH Public key” box or use the button to select the public key file on your computer.
- Click “Add” to associate the public SSH key part with your account
The public SSH key part will now be added to your login account on the ARCHER2 system.
Log into ARCHER2
You should now be able to log into ARCHER2 by following the login instructions in the ARCHER2 documentation.
Using an existing ARCHER2 account
If you wish to use an existing ARCHER2 account for the course, that is perfectly fine. The only differences from the specific course account are that you will not have access to the course account code. Instead, you can use your existing account code (the cost of the jobs is negligible as they are very short and small).