|

Wednesday, 18 June 2025

|

Session 3 of 6: GPU Programming: CUDA

Site event
DESCRIPTION: This is an introductory course covering programming and computing on GPUs - graphics processing units - which are an increasingly common presence in massively parallel computing architectures. The basics of GPU programming will be covered, and students will work through a number of hands on examples. The structuring of data and computations that makes full use of the GPU will be discussed in detail. Students should be able to leave the course with the knowledge necessary to begin developing their own GPU applications.

TEACHER: Sergey Mashchenko (SHARCNET, McMaster University) and Pawel Pomorski (SHARCNET, University of Waterloo)

LEVEL: Introductory

FORMAT: Lecture + Hands-on

CERTIFICATES: Attendance

PREREQUISITE: Basic C and/or C++ programming experience.

Session 3 of 4: Introduction to Julia for Scientific and Parallel Computing

Site event
DESCRIPTION: Julia is becoming increasingly popular for scientific computing. One may use it for prototyping as Matlab, R and Python for productivity, while gaining the same performance as compiled languages such as C/C++ and Fortran. The language is designed for both prototyping and performance, as well as simplicity. This is an introductory course on julia. Students will be able to get started quickly with the basics, in comparison with other similar languages such as Matlab, R, Python and Fortran and move on to learn how to write code that can run in parallel on multi-core and cluster systems through examples.

TEACHER: Baolai Ge (SHARCNET, Western University)

LEVEL: Introductory

FORMAT: Lecture + Hands-on

CERTIFICATE: Attendance and Completion

PREREQUISITES: None

Session 1 of 4: Parallel Programming with MPI

Site event
DESCRIPTION: We will cover the basics of parallel programming, in the context of MPI. There will be a great deal of hands-on experience, with lots of examples.

TEACHERS: Joey Bernard (ACENET, University of New Brunswick) and Gurpreet Singh (ACENET, St. Francis Xavier University)

LEVEL: Introductory / Intermediate

FORMAT: Lecture + Hands-on

CERTIFICATE: Attendance

PREREQUISITES:

* Familiarity with the C (or C-like) programming languages.
* Some knowledge involving issues concerning parallel programming languages.

Session 4 of 6: GPU Programming: CUDA

Site event
DESCRIPTION: This is an introductory course covering programming and computing on GPUs - graphics processing units - which are an increasingly common presence in massively parallel computing architectures. The basics of GPU programming will be covered, and students will work through a number of hands on examples. The structuring of data and computations that makes full use of the GPU will be discussed in detail. Students should be able to leave the course with the knowledge necessary to begin developing their own GPU applications.

TEACHER: Sergey Mashchenko (SHARCNET, McMaster University) and Pawel Pomorski (SHARCNET, University of Waterloo)

LEVEL: Introductory

FORMAT: Lecture + Hands-on

CERTIFICATES: Attendance

PREREQUISITE: Basic C and/or C++ programming experience.

Session 4 of 4: Introduction to Julia for Scientific and Parallel Computing

Site event
DESCRIPTION: Julia is becoming increasingly popular for scientific computing. One may use it for prototyping as Matlab, R and Python for productivity, while gaining the same performance as compiled languages such as C/C++ and Fortran. The language is designed for both prototyping and performance, as well as simplicity. This is an introductory course on julia. Students will be able to get started quickly with the basics, in comparison with other similar languages such as Matlab, R, Python and Fortran and move on to learn how to write code that can run in parallel on multi-core and cluster systems through examples.

TEACHER: Baolai Ge (SHARCNET, Western University)

LEVEL: Introductory

FORMAT: Lecture + Hands-on

CERTIFICATE: Attendance and Completion

PREREQUISITES: None

Session 2 of 4: Parallel Programming with MPI

Site event
DESCRIPTION: We will cover the basics of parallel programming, in the context of MPI. There will be a great deal of hands-on experience, with lots of examples.

TEACHERS: Joey Bernard (ACENET, University of New Brunswick) and Gurpreet Singh (ACENET, St. Francis Xavier University)

LEVEL: Introductory / Intermediate

FORMAT: Lecture + Hands-on

CERTIFICATE: Attendance

PREREQUISITES:

* Familiarity with the C (or C-like) programming languages.
* Some knowledge involving issues concerning parallel programming languages.