Training and Outreach

Internship Opportunities

The McGill HPC Centre is proud to announce that it is accepting proposals for partnerships with faculty members at all Canadian universities or industry who wish to include an HPC component in the training of students, interns or new trainees. We are presently engaged in such partnerships with professors from McGill University training students from Ontario, Mexico and Finland, and look forward to further internship participants joining the HPC Centre. For more information regarding such partnership opportunities please contact Professor Nikolas Provatas at This email address is being protected from spambots. You need JavaScript enabled to view it. .

Event Schedule

The following is the calendar of events presently planned for 2015. Please check back for updates. Announcements for registration for each training session will be distributed to all users in advance of each session. There are no fees or charges for participating in the workshops unless otherwise indicated.

Upcoming Events

No events

Calendar

December 2017
S M T W T F S
26 27 28 29 30 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 1 2 3 4 5 6

Full-size Events Calendar


2016 Workshop Overview

All Calcul Quebec's workshops: http://calculquebec.eventbrite.ca

DateWorkshop title
2016-01-28 Introduction to ARC (HPC)
   
2016-02-03 Introduction to Linux
2016-02-17 Introduction to Python for Scientific Computing
   
2016-03-24 Introduction to R
2016-03-31 Profiling and Optimization Tools
   
2016-04-21 Introduction to OpenMP
2016-04-28 Advanced OpenMP
   
2016-MM-DD Checkpointing Techniques
2016-MM-DD Debugging with DDT
2016-05-26 Data Intensive Computing
   
2016-06-21 Introduction to GPU/CUDA
   
2016-07-DD MapReduce and Hadoop for BigData
   
2016-08-DD Scientific Visualization with ParaView
2016-08-DD MapReduce and Hadoop for BigData
   
2016-09-08 Software Carpentry (Bash, Python, Git, R) - part 1
2016-09-15 Software Carpentry (Bash, Python, Git, R) - part 2
2016-09-29 Introduction to Advanced Research Computing (ARC)
   
2016-10-06 Parallel Programming with Message Passing Interface (MPI)
2016-10-13 Introduction to R for Scientific Computing
2016-10-27 Introduction to Intel Xeon Phi
   
2016-11-DD Data Visualization with Python
2016-11-DD Advanced and Parallel Python
2016-11-DD Advanced and Parallel R
   

 


Past and Upcoming Workshops by Topic

Introduction to Linux

Participants will learn the basics of how to use the Linux operating system to interact with a high-performance computing cluster. Topics include using the command-line to navigate directories and edit files, automating tasks with scripts, managing running processes, compiling software, and using graphical interfaces.

Introduction to ARC (HPC)

Participants will learn the basics of using a high-performance computing cluster such as Guillimin. Topics will cover Linux commands, working with a batch system (job scheduler), and parallel programming.

Data Intensive Computing

In this hands-on workshop, participants will learn how to use Globus, HDF5 files and parallel IO.

MapReduce and Hadoop for Big Data

In this workshop, participants will gain hands-on experience with MapReduce using Hadoop. We will discuss the computational challenges of "big data", how Hadoop and MapReduce address these challenges, and the HDFS file system. Participants will implement several practical MapReduce algorithms that can scale to address big data problems.

Introduction to OpenMP

A hands-on, practical introduction to parallel computing on shared memory systems (i.e. single nodes) with OpenMP. The presentation will cover OpenMP pragmas (parallel, for, private and shared variables, barrier, nowait, critical, atomic, single, reduction), compilation flags and environment variables.

Advanced OpenMP

In this workshop we went into greater depth on how to use OpenMP to create effective, efficient parallel software. Participants should already have been familiar with the basic functions of OpenMP in C or Fortran.

Introduction to MPI

A hands-on, practical introduction to parallel computing on multiple nodes with MPI. The presentation will cover 6 essentials MPI functions (Init, Rank, Size, Send, Recv and Finalize) and some collective operations (Bcast, Reduce, Scatter and Gather).

Advanced MPI

In this workshop we went into greater depth on how to use MPI to create effective, efficient parallel software. Participants should already have been familiar with the basic functions of MPI. We also focused on how to create hybrid MPI/OpenMP programs that make the most of both of these parallel programming models.

Introduction to CUDA/GPU

A hands-on, practical introduction to the use of GPU hardware to accelerate scientific computing. The workshop will touch on GPU libraries, applications and OpenACC programming directives, but the focus will be on learning GPU concepts through the CUDA-C programming language. We will cover global device memory and memory copying, single-instruction multiple thread (SIMT) parallelism, error checking, shared memory, and thread cooperation.

Advanced CUDA-C

In this workshop we will go into greater depth on how to use CUDA-C to create effective, efficient GPU-accelerated software. Participants should already be familiar with the basics of CUDA-C including how to write kernels, and the advantages and limitations of shared memory. Topics can be customized according to the interests of the participants and may include: warps, memory coalescing, thread divergence, dynamic parallelism, texture memory, atomics, and/or common scientific algorithms in CUDA.

Introduction to Intel Xeon Phi

In this workshop we will give a hands-on, practical introduction to using the Intel Xeon Phi co-processor to accelerate your scientific software using massive parallelism.

ScaleMP

This is an introduction to the ScaleMP system.

Introduction to R

In this workshop we will give an introduction to R, in the context of Scientific Computing.

Introduction to Python for Scientific Computing

In this workshop we will give an introduction to Python, in the context of Scientific Computing.

Advanced and Parallel Python

In this workshop we will follow up on the introductory Python workshop, explaining how to speed up Python programs, how to interface with C and Fortran, and introducing parallel techniques such as multiprocessing, mpi4py, and ipcluster (from IPython).

Introduction to Matlab Distributed Computing Server (MDCS)

The Matlab Distributed Computing Server is a software package installed on Guillimin that allows users to submit parallel Matlab jobs from their desktop workstation to the Guillimin computing cluster. We will show users how to configure their workstation to use the Guillimin MDCS, how to submit jobs to the queue, and how to write parallel Matlab programs.

Introduction to PETSc

PetSC is a highly-optimized scientific library for solving partial differential equations in parallel. Participants used PetSC to solve a series of example PDEs and learned to incorporate PetSC into their scientific software.

Checkpointing Techniques

In this workshop, participants will learn some techniques for implementing checkpoint restarts in their programs. For jobs that run for a long time or over a large number of nodes, there is a significant chance of a system problem crashing the job and causing the loss of days worth of intermediate compute results. With checkpointing, jobs can be restarted from a saved intermediate state (a checkpoint), allowing for better fault tolerance.

Debugging with Allinea DDT

DDT is a symbolic debugging tool available on Guillimin. In this hands-on workshop, we will introduce the benefits of using a symbolic debugger, and teach participants how to use DDT to submit debugging jobs to the queue. With symbolic debuggers, researchers can step through their code line-by-line and investigate how each line of code changes the data content of each variable. In this workshop, participants will learn how to do this for serial code, and also how to use DDT to debug large-scale parallel programs by selecting specific processes to debug and monitoring where each process is in the execution of the program.

Profiling and Optimization Tools

In this workshop, participants will gain hands-on experience with tools available on Guillimin for profiling and optimizing software.

Scientific Visualization with ParaView

In this workshop we will give an introduction to visualizing 1D, 2D, and 3D scientific data with a focus on the open-source visualization tool ParaView.


Monthly Meetings for Guillimin Users and Other Events

- 2018 -

- 2017 -

- 2016 -

- 2015 -

- 2014 -

- 2013 -

- 2012 -