May 26-27, 2018
10am - 5pm
Instructors: Pawel Pomorski, Tyson Whitehead, Isaac Ye
Helpers: Ed Armstrong
HPC Carpentry is a new initiative designed to teach researchers the basics of scientific computing, in particular accessing and using high-performance computing installations that have become commonplace in modern research. This hands-on workshop will cover basic concepts and tools, including using a cluster, programming in Python, and pipeline/task automation. Participants will be encouraged to help one another and to apply what they have learned to their own research problems. For more information on what we teach and why, please see the HPC Carpentry website.
Who: The course is aimed at graduate students and other researchers looking to take advantage of high-performance compute clusters and perform reproducible research. You don't need to have any previous knowledge of the tools that will be presented at the workshop. This workshop is a fantastic chance to get started with scientific computing.
When: May 26-27, 2018. Add to your Google Calendar.
Requirements: Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below). They are also required to abide by HPC Carpentry's Code of Conduct.
Accessibility: We are committed to making this workshop accessible to everybody. The workshop organizers have checked that:
Contact: Please email firstname.lastname@example.org for more information.
Please be sure to complete these surveys before and after the workshop.
|10:00||Introduction to the UNIX shell|
|14:00||Using a compute cluster|
|10:00||Programming with Python|
|14:00||Analysis pipelines with Snakemake|
We will use this collaborative document for chatting, taking notes, and sharing URLs and bits of code.
To participate in a HPC Carpentry workshop, you will need access to the software described below. In addition, you will need an up-to-date web browser.
We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.
A large portion of this workshop will involve connecting to and using a remote computing cluster. To do this, we will use a SSH client.
You will need to download and install MobaXterm, a widely-used SSH client for Windows. MobaXterm can be downloaded from the following link: installer.
macOS ships with an SSH client by default,
so there is no need to install anything.
You access Bash and an SSH client from the Terminal
See the Git installation video tutorial
for an example on how to open the Terminal.
You may want to keep
Terminal in your dock for this workshop.
Linux comes with an SSH client installed by default - there is no need to install anything.
Python is a popular language for research computing, and great for general-purpose programming as well. Installing all of its research packages individually can be a bit difficult, so we recommend Anaconda, an all-in-one installer.
Regardless of how you choose to install it, please make sure you install Python version 3.x (e.g., 3.6 is fine).
We will teach Python using the Jupyter notebook, a programming environment that runs in a web browser. For this to work you will need a reasonably up-to-date browser. The current versions of the Chrome, Safari and Firefox browsers are all supported (some older browsers, including Internet Explorer version 9 and below, are not).
bash Anaconda3-and then press tab. The name of the file you just downloaded should appear. If it does not, navigate to the folder where you downloaded the file, for example with:
cd DownloadsThen, try again.
yesand press enter to approve the license. Press enter to approve the default location for the files. Type
yesand press enter to prepend Anaconda to your
PATH(this makes the Anaconda distribution the default Python).