Foundations of parallel programming and the Chapel programming language



This course is a general introduction to the main concepts of Parallel programming and the Chapel programming language. 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 workshop will be given by Dr. Alex Razoumov, Westgrid Training and Visualization Coordinator, Compute Canada, and Dr. Juan Zuniga, University of Saskatchewan.


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 we recommend the free edition of; 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


Friday January 18th, 2019. From 9:00 am to 12:00 pm and from 1:00 pm to 4:00 pm.

This workshop is part of a 4-workshop-series that will provide hands-on introductions to essential tools and skills used in computational research. The other workshops in the series include:

  • Moving your research from Windows-based desktops to Linux and command line in remote servers,
  • Introduction to HPC: using clusters to speed up your research,
  • Scientific Visualization.

You can attend single sessions or the entire series. There is no cost to attend but you must register online in advance.


See course description for a list of topics covered.


  • See course description

Other Recommendations:

There are no additional recommendations with this course


6 hour Course

Registration Fees:

U of S Students: $0.00
U of S Faculty: $0.00
U of S Staff: $0.00
Off Campus: $0.00

Required Software:

There is no required software for this course.


There are no additional resources for this course.

NOTE: Classes may have limited registration. If an offering is designated as 'Full', please email Training Services in order that we may accommodate your training needs. Due to last minute withdrawls, this class is subject to cancellation on short notice. A customized training solution may be offered in its place.

Registration Information
You must be logged in to see registration information.