Resources


Computing

These resources collect tutorials to get you started using our workstations and learning Git to share files and make backups. Make sure to work through them in order.


Working on Linux workstations remotely

Almost all high-performance computing clusters run Linux. This is what all our workstations use, and you will find it helpful down the line to get proficient with basic Linux commands and concepts. We will be doing everything through a terminal window. We can load one on both Mac and Windows to practice, and this is what you'll also use to log onto our workstations remotely (see below). On Mac you would find the terminal under Applications->Utilities. On Windows hit the windows key and search for Powershell (this will only work with post-2018 versions of Windows 10 or later). Make a shortcut for it now, since we'll use the terminal a lot.

In order for all of us to use the workstations concurrently, everyone uses them by logging onto them remotely using ssh (secure shell). Connecting to the workstations through ssh will only work automatically IF YOU ARE ON THE **WPA** wifi network or plugged into ethernet on campus (i.e., not on the ETC wifi). If you are off-campus, you need to first set up and connect to the college VPN (CIS Services) before using ssh.

Below is a link to a good Linux tutorial. I've taken care of Section 1 for you, skim through the commands in Section 2, especially those up through 'cp', which you will use all the time. You'll become good with these as you use them and see them used in the tutorials below--it will just be helpful to know what commands are available and where to find information on them.

Basic Linux commands

Now go through these two tutorials in detail for how to access and use the workstations:

Logging into a workstation remotely with ssh
Simplifying ssh logins


Running Jupyter notebooks remotely on the workstations

Our typical workflow will be to leave Jupyter notebooks running remotely on the workstation, and to edit and run them remotely from our laptops. These tutorials show you how to do that. These tutorials won't work unless you've first gone through the tutorials above for working on the Linux workstations remotely.

Keeping a terminal session running with the screen command
Running a Jupyter notebook remotely using port forwarding


Using Git

Since we will be constantly sharing and merging files with one another and across workstations, we'll also pick up some basic skills with git, a version control system for storing and sharing code. Please follow the tutorial below to upload your team pic to the website to get started. Below that is a useful starter guide for using Git.

Updating your team picture/title: a basic Git tutorial
How to make your first pull request on Github


Using SLURM Job Scheduler

CMC and HMC share a new NSF-funded high-performance computing cluster that you may have access to. After setting up your account, you will need to use SLURM, the cluster job scheduler to submit jobs. Below is a tutorial explaining the basics of using the cluster and an example job queing script. Remember that even if you are on campus, you need to use the Claremont Colleges VPN to connect to Hopper.

How to use SLURM and queue a job