Compute Canada Federation National Training: Parallel Programming in Chapel

Mon, Mar 7, 2022 12:30pm - Fri, Mar 11, 2022 3:30pm

Status: Completed

Learn the principles of shared and distributed memory scientific parallel programming with Chapel. No Chapel computing knowledge required!

This course is a general introduction to the main principles of parallel programming using the 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, making it ideal for a novice HPC user to learn parallel programming. It 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.

Topics

  • Basic language features
  • Task parallelism (mostly in shared memory)
  • Data parallelism (shared and distributed memory)

Schedule

  • March 7, 12:30-15:30hrs EASTERN
  • March 9, 12:30-15:30hrs EASTERN
  • March 11, 12:30-15:30hrs EASTERN

Sessions will be delivered in English, but we will have the ability to respond to questions in French. The lesson material will be available in English.

Requirements

  1. Basic understanding of HPC at the introductory level (how to submit jobs with Slurm scheduler), and basic knowledge of Linux command line.
  2. Participants are strongly encouraged to have a Compute Canada account, and a cloud project, well before the workshops begin. It can take several business days to obtain an account. https://ccdb.computecanada.ca/
  3. You will need your own laptop or desktop on which you have administrative privileges to install software.
  4. Participants must register using their institutional or organizational email address (not a personal email, ie. Gmail).

Connection details will be provided the day before the session to registrants with an institutional/organizational email address.

*****

Formation nationale de la fédération Calcul Canada : Programmation parallèle avec Chapel

Sommaire : Apprenez les principes de programmation en mémoire distribuée et en mémoire partagée. Aucune connaissance préalable de Chapel n’est requise.

Cette formation est une introduction générale aux principes de base de la programmation parallèle avec le langage Chapel.

Chapel est un langage relativement nouveau pour le parallélisme à mémoire partagée et distribuée. C’est le langage idéal pour s’initier à la programmation parallèle, car il offre des abstractions de haut niveau. Il est très intuitif et cherche à combiner la facilité d’utilisation de Python et la performance des langages compilés traditionnels comme C et Fortran. Très peu de lignes sont nécessaires pour remplacer des dizaines de lignes de code MPI. Chapel est open source et est pris en charge par tous les systèmes Unix, sur tous les types d’ordinateurs, des ordinateurs portables jusqu'aux grands systèmes de calcul de haute performance.

Sujets

  • Fonctions Chapel de base
  • Parallélisme des données (en mémoire partagée et en mémoire distribuée)
  • Parallélisme des tâches (surtout en mémoire partagée)

Horaire

  • 7 mars, de 12 h 30 à 15 h 30 (heure de l’Est)
  • 9 mars, de 12 h 30 à 15 h 30 (heure de l’Est)
  • 11 mars, de 12 h 30 à 15 h 30 (heure de l’Est)

Les séances se dérouleront en anglais, mais vous pourrez poser des questions en français. Le contenu ne sera cependant disponible qu’en anglais.

Prérequis

  1. Compréhension du calcul de haute performance à un niveau de base (comment soumettre une tâche à l'ordonnanceur Slurm). Connaissance de base de la ligne de commande sous Linux.
  2. Nous vous encourageons fortement à posséder un compte avec Calcul Canada et à disposer d’un projet infonuagique bien avant le début des séances. Il peut y avoir une attente de plusieurs jours ouvrables avant que vous n’obteniez votre compte et votre projet. https://ccdb.computecanada.ca/
  3. Vous aurez besoin de votre propre ordinateur sur lequel vous disposez de privilèges administratifs pour installer des logiciels.
  4. Pour vous inscrire, vous devez utiliser une adresse de courriel fournie par votre établissement d’enseignement ou votre organisation. Les adresses de courriel personnelles (par exemple Gmail) ne sont pas acceptées.

La veille de chaque rencontre, vous recevrez par courriel les directives pour joindre l’atelier.