High Performance Computing Microcredential – Digital Nova Scotia – Leading Digital Industry

September 15 – October 27, 2026

6-week program, 2 X 2-hour sessions/week  |  24 hours total training

Valued at $1,225.00 + HST
Eligible DNS members pay $310 + HST

Hosted by acenet

More CoursesApply Now

About the Instructor

Ross Dickson

Sarah Clarke

Serguei Vassiliev

Funding

To apply your organization must

Funding

Apply Now

Please complete the following form to confirm your eligibility for funding, including uploading the Business Information and Registration forms. Please give us at least 3 – 5 business days to respond to your email with your eligibility.

Have Questions?

Please contact Emily van den Hoogen at emily@digitalnovascotia.com

Course FAQ

[ click on a question to view the answer ]

What will the training cover?

Course Curriculum Overview:

  • Session 1: Description of HPC; accessing remote resources; batch scheduling (Learning Objectives 1-4)
  • Session 2: Performance profiling I (Learning Objective 5)
  • Session 3: Mathematical models of strong scaling and weak scaling (Learning Objective 6)
  • Session 4: OpenMP programming I (Learning Objective 7)
  • Session 5: OpenMP programming II (Learning Objective 7 continued)
  • Session 6: GPU programming I (Learning Objectives 9, 10)
  • Session 7: GPU programming II (Learning Objective 10 continued)
  • Session 8: GPU programming III (Learning Objective 11)
  • Session 9: HPC on cloud services (Learning Objective 12)
  • Session 10: Performance profiling II (Learning Objective 5)
  • Session 11: Independent study project presentations
  • Session 12: Independent study project presentations

Program Outcomes

By the end of this course, participants will understand how:

  1. an HPC cluster is different from personal computers and other “cloud computing” resources.
  2. to use SSH keys to access HPC resources securely.
  3. to use a batch scheduler to share HPC resources.
  4. hardware affects parallelism and how to make programming decisions.
  5. to profile a program to measure speed and identify hot spots or bottlenecks.
  6. to apply the concepts of strong and weak scaling, and the mathematical models describing them.
  7. to make an existing C language program multi-threaded using OpenMP.
  8. to identify data dependencies, race conditions, and other hazards of parallel programming.
  9. a GPU differs from a CPU.
  10. to use CUDA to program a GPU.
  11. to port an existing CPU program to use a GPU.
  12. to create an HPC cluster on a commercial cloud service (AWS, Google Cloud, Azure).