HPC-Sp16

CSE Workshops in High-Performance Computing
Spring 2016

Maintained by uiuc-cse

Location

All workshops will be held in the EWS computer laboratory, L440 Digital Computer Laboratory.
There is no sign-up for this series—walk-ins are welcome and encouraged!

L440 DCL is a little tricky to find if you haven't been there before. It's located in the basement, and can be accessed by going down the main staircase in DCL and turning right.

Foreword

This workshop series will introduce you to the concepts in High-Performance Computing.
Any Unix-based machine has everything we need for the workshop. If you plan to use your personal laptop that runs Windows, you should install any terminal emulator, such as MobaXterm.


Introduction to the Command Line
Feb. 19, 10:00 a.m.-Noon

In this lesson, we will talk about the Linux command line.

The TOP500 Project: The list of top 500 Supercomputers

Lesson notes: Single page or Multi-page
Exercises: #1, #2, #3, #4, #5, #6


Scientific Computing on a Cluster
Feb. 26, 10:00 a.m.-Noon

Lesson notes: Single page


Introduction to Campus Cluster
Mar. 4, 10:00 a.m.-Noon

This workshop is designed to acquaint you with working on a high-performance computing cluster, or modern-day supercomputer. We will specifically talk about using the University of Illinois Campus Cluster system, although most of this information is transferrable to other clusters.

Lesson notes: Single page


Parallel Threads for Engineers (OpenMP)
Mar. 11, 10:00 a.m.-Noon

OpenMP is a set of extensions to the C, C++, and Fortran languages to allow the effective control of multiple cores on shared-memory machines, such as desktop computers or single nodes of supercomputers. With a few well-placed annotations and some judicious restructuring of your current code, you can start seeing speedups from effectively using multiple processes immediately. We will discuss the basics of OpenMP and examine some applications as well. Programming experience with C or C++ is assumed.

Before the workshop:

If you are using a personal laptop computer running OS X operating system, you have to install GNU GCC without multilib support. The reason behind this is that clang — the default compiler on a Mac computer — does not support OpenMP. Moreover, gcc is just a symbolic link to clang. The easiest way to install GNU GCC is to use Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctor  ; # fix as many errors/warnings as possible
brew install gcc --without-multilib
Download the interactive notebook that we will use in this lesson and note its location on the drive.

To start the interactive notebook on your personal laptop computer, you need Python (Python 3 is preferred) as well as one of its packages: jupyter or ipython. To install jupyter for Python 3, open a terminal and execute:

pip3 install jupyter
If you use Python 2, execute:
pip install jupyter

To start the interactive notebook on a EWS machine, open a terminal and execute the commands:

module load gcc
source /class/cs101/etc/venv/cse/bin/activate /class/cs101/etc/venv/cse/
To start the noteboook, open a terminal, navigate to the folder with the downloaded notebook file and execute:
jupyter notebook omp-c.ipynb

Distributed Computing for Engineers (MPI)
Mar. 18, 10:00 a.m.-Noon

The Message-Passing Interface is the de facto standard for all large-scale distributed-memory cluster computing. We will examine the basics of this standard in C (and can touch on C++ and Fortran), as well as discuss some numerical coding applications and considerations. Programming experience with C or C++ is assumed.

Before the workshop:

If you are using a personal laptop computer running OS X operating system, you have to install an mpi compiler. The easiest way to get it on a Mac is to use Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctor  ; # fix as many errors/warnings as possible
Then simply execute:
brew install open-mpi
In this lesson we will use an interactive jupyter notebook.
Download the interactive notebook and note its location on the computer.

To use the interactive notebook on your personal laptop computer, you need Python (Python 3 is preferred) as well as one of its packages: jupyter or ipython. To install jupyter for Python 3, open a terminal and execute:

pip3 install jupyter
If you use Python 2, execute:
pip install jupyter

To use the interactive notebook on a EWS machine, open a terminal and execute the commands:

module load mpich2
source /class/cs101/etc/venv/cse/bin/activate /class/cs101/etc/venv/cse/
To start the noteboook, open a terminal, navigate to the folder with the downloaded notebook file and execute:
jupyter notebook mpi-c.ipynb