You are here

2021-06-04

Date:
Tuesday, June 1, 2021 - 9:00 PDT to Tuesday, June 8, 2021 - 17:00 PDT
Location
Speaker Info:
Description
The 3rd module of the WestGrid Training Modules 2021 will teach you parallel programming in Chapel and Julia.

About this Event

 

Registering for this Module will give you access to both Course 1 and Course 2

Course 1: Parallel Programming in Chapel

Course 2: Parallel computing in Julia

Zoom access links will be emailed to you 2-5 business days before the module begins. 

Please note that this purchase is non-refundable. 

Please note that registrants must be associated with a Canadian Academic Institution: you will be required to provide your institutional email address upon registration. 

 

Parallel Coding 

Course 1 — Parallel programming in Chapel

Tuesday, June 1

9 am–5 pm Pacific Time

This course format will be a combination of several interactive Zoom sessions and pre-recorded reading and video materials in-between the Zoom sessions. Course materials will be shared shortly before the start of the course.

This course is a general introduction to the main principles of parallel programming, using 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.

Course Details: 

  • Some courses will require additional or more advanced level knowledge or programming skills. Check the course descriptions for more details.
  • All participants are encouraged (but not required) to obtain a Compute Canada account. We will be providing guest accounts if needed, but if you would like to register for a free Compute Canada account, click here

Course 2 — Parallel Computing in Julia

Tuesday, June 8

9 am–5 pm Pacific Time

This course format will be a combination of several interactive Zoom sessions and pre-recorded reading and video materials in-between the Zoom sessions. Course materials will be shared shortly before the start of the course.

Julia is a high-level programming language well suited for scientific computing and data science. Just-in-time compilation, among other things, makes Julia really fast yet interactive. For heavy computations, Julia supports multi-threaded and multi-process parallelism, both natively and via a number of external packages. It also supports memory arrays distributed across multiple processes either on the same or different nodes. In this hands-on workshop, we will start with a quick review of Julia’s multi-threading features but will focus primarily on Distributed standard library and its large array of tools. We will demo parallelization using three problems: a slowly converging series, a Julia set, and an N-body solver. We will run examples on a multi-core laptop and an HPC cluster.

Course Details: 

  • Some courses will require additional or more advanced level knowledge or programming skills. Check the course descriptions for more details.
  • All participants are encouraged (but not required) to obtain a Compute Canada account. We will be providing guest accounts if needed, but if you would like to register for a free Compute Canada account, click here

More Information:

If you have questions or would like more information on these WestGrid Training Modules, please contact training@westgrid.ca

Registation / More Information