High Performance Computing Workshop
HPC 101

Course Overview

This course will provide an overview of cluster computing in general and how to use the U-M Flux Cluster in particular. Topics to be covered include cluster computing concepts, common parallel programming models, introduction to the Flux Cluster; creating, submitting, observing, and analyzing cluster jobs; common pitfalls and how to avoid them; and some useful tools. We will issue you a temporary allocation to use for the course, or you can use your existing Flux allocations, if any. Short sample programs will be provided, or come to class with your own.

Course Prerequisites

HPC 100 or equivalent. This course assumes familiarity with the Linux command line.

Course Instructor

Dr. Charles J Antonelli
Research Systems Group
LSA Information Technology

Charles is a High Performance Computing Consultant in the Advocacy and Research Support Group of LSAIT at the University of Michigan, where he is responsible for high performance computing support and education, and is an advocate to the Department of History. Prior to this, he built a parallel data ingestion component of a novel earth science data assimilation system, a secure packet vault, and worked on the No. 5 ESS Switch at Bell Labs in the 80s. He has taught courses in operating systems, distributed file systems, C++ programming, security, and database application design.

Course Logistics

Course Location and Date:
Room B745 East Hall
1:00pm until 5:00pm
January 29th, 2014

Directions: enter East Hall's southwest entrance (next to Ulrich's), go down one floor to the basement level, turn right into the major hallway and then immediately left, and follow the small U-shaped corridor around to the classroom.

The room is equipped with workstations running Mac OS X, or you can bring your own laptop. We will be using the in-room computers only for connecting to the Flux cluster.

Course Registration

Please register for the appropriate session by choosing from this list. (If this course does not appear there, that means it is not currently offered for this term.)

You will receive an acknowledgement confirming your registration with some more details.

Course Materials

Course Preparation

In order to use the Flux cluster successfully, you must have a Flux user account, a Flux allocation, and an MToken. The user account allows you to log in to the cluster, create, compile, and test applications, and prepare Flux jobs for submission. The allocation allows you to submit those jobs, executing those applications in parallel on the cluster and charging their resource use against the allocation. A token is required to authenticate you to the cluster.

Flux user account

A single Flux user account can be used to prepare and submit jobs using various allocations. If you already already possess a user account, you can use it for this course, and you can skip to "Flux allocation" below. If not, please visit https://www.engin.umich.edu/form/cacaccountapplication/ to obtain one. A user account is free to members of the University community.

On the web form you'll be asked to fill out, you should enter your own project and software information. If you don't have this, good defaults include: for "Project(s) for which you will use the CAC computers," enter "HPC 101"; for "What software will you be using," enter "gcc, icc, ifort."

Please note that obtaining an account requires human processing, so be sure to do this at least three business days before class begins.

Flux allocation

We'll issue you a temporary allocation so you can run jobs on the cluster during the course. If you already have an existing Flux allocation, you can use that as well, if you like.


An MToken (or a Software Token) is required to login to the cluster. When logging in, you will need to give both the passcode it displays at time of login as well as your Kerberos password in order to authenticate. If you already possess an MToken, you can ignore the rest of this paragraph. Otherwise, you should do one of the following:

Laptop Preparation

You do not need to bring your own laptop to class. The classroom contains Mac OS X computers, which require your uniqname and Kerberos password to login, that have all necessary software pre-loaded.

If you want to use a laptop for the course, you'll minimize in-class distractions if you prepare your laptop as follows well before class begins:

More help

Please use our class mailing list hpc101course@umich.edu for questions, comments, or to seek further assistance.