You are here

Research computing workshops coming to Simon Fraser University - March 18-21, 2019

A free workshop series is coming to Simon Fraser University (SFU) in March, co-hosted by SFU WestGrid. The sessions will provide hands-on introductions to essential tools and skills used in computational research. Researchers in all disciplines are invited to participate. No prior experience is required for any of the topics being covered. You can attend single sessions or the entire series, and these workshops are open to anyone -- researchers from other institutions and organizations outside of SFU are welcome to register.

All sessions will be held at SFU, in the Applied Sciences Building. Check the session descriptions below for the room locations.

Session Descriptions

DAY 1Monday, March 18 ASB 10900, Big Data Hub, SFU

"Moving your research from Windows-based desktops to Linux and command line in remote servers"

This workshop will be a hands-on introduction to Linux command line and the interaction with a remote server. We will review basic Linux commands, file management (edit, copy, remove and remote-transfer files), directories and the file system, remote access, bash scripting, and will spend some time at the end on command-line version control with Git.

This is an introductory course, no previous experience is required. We will provide guest accounts to one of our Linux systems. All attendees will need to bring their laptops with wireless access and with a remote SSH client installed (on Windows laptops we recommend installing the free edition of https://mobaxterm.mobatek.net/download.html; on Mac and Linux laptops there is no need to install anything).

DAY 2 Tuesday, March 19 ASB 10900, Big Data Hub, SFU

"Introduction to HPC: Using clusters to speed up your research"

We will start with an overview of the hardware of common HPC clusters, and a quick description of the resources available on Compute Canada's national systems (Cedar, Graham, and Niagara). We will then continue learning the basic tools and techniques to work on a cluster: software environment and modules, overview of installed programming languages and compilers, working with make and Makefiles, and installing new software locally. Finally, we will take a look at the Slurm job scheduler: why use it, fairshare and priority, submitting serial jobs and job arrays, submitting OpenMP / MPI / hybrid / GPU jobs, working inside interactive jobs, and tracking your job's memory usage. We will also take a quick look at working with common packages such as R, Python and MATLAB on the clusters, as well as best practices in cluster workflows.

In this workshop we assume all attendees have a working knowledge of the Linux command line (this material will be covered in Day 1 of our workshop series, "Moving your research from Windows-based desktops to Linux and command line in remote servers"). All attendees will need to bring their laptops with wireless access and with a remote SSH client installed (on Windows laptops we recommend installing the free edition of https://mobaxterm.mobatek.net/download.html; on Mac and Linux no need to install anything).

We will start with a brief introduction to scientific visualization, and will spend the first hour doing some simple 1D/2D/3D plotting using plot.ly, an open source Python library. The rest of the day we will study 3D scientific visualization with ParaView, an open source, multi-platform data analysis and visualization tool designed to run on a variety of hardware from individual laptops to large supercomputers. With ParaView, users can interactively visualize 2D and 3D data sets defined on structured, adaptive and unstructured meshes or particles, animate these datasets in time, and manipulate them with a variety of filters. ParaView supports both interactive (GUI) and scripted (including offscreen) visualization, and is an easy and fun tool to learn.

This is an introductory course, no prior visualization experience is required. This workshop will feature many interactive hands-on exercises, so attendees need to bring a laptop (and perhaps a power cord for use throughout the day) and should have ParaView installed from https://www.paraview.org/download before the workshop (we recommend version 5.6). We will provide all sample data and codes for the exercises, and you can bring your dataset if you want to visualize it with ParaView. No need to install plot.ly on your laptop — we will have it installed on a remote cluster, so you will need an SSH client installed (see the prerequisites noted for Days 1 and 2).

DAY 4Thursday, March 21NOTE: This session changes room locations in the afternoon:

8:30 am - 11:00 am: ASB 10900

12:00 - 3:00 pm: ASB 10908

"Foundations of parallel programming and the Chapel programming language"

This course is a general introduction to the main concepts of parallel programming, using the Chapel programming language to illustrate the basic concepts and ideas. Chapel is a relatively new language for both shared and distributed-memory programming, with easy-to-use, high-level abstractions for both task and data parallelism that make it ideal for learning parallel programming for a novice HPC user. Chapel is incredibly intuitive, striving to merge the ease-of-use of Python and the performance of traditional compiled languages such as C and Fortran. Parallel constructs that typically take tens of lines of MPI code can be expressed in only a few lines of Chapel code. Chapel is open source and can run on any Unix-like operating system, with hardware support from laptops to large HPC systems.

This is an introductory course so no prior parallel programming experience is required, however, having some programming background will allow the attendees to get the most out of this workshop. Also, we strongly recommend that all attendees know the material covered on days 1 and 2 of our workshop series, "Moving your research from Windows-based desktops to Linux and command line in remote servers", and "Introduction to HPC: using clusters to speed up your research". All attendees will need to bring their laptops with wireless access and with a remote SSH client installed (on Windows laptops we recommend installing the free edition of https://mobaxterm.mobatek.net/download.html; on Mac and Linux no need to install anything). We will be using Chapel on a remote cluster, but it can also be installed on laptops from https://chapel-lang.org.