/Workshop-GERAD

Parallel computing and GPU programming with Julia

Primary LanguageHTML

Parallel computing and GPU programming with Julia

Abstract: The Julia programming language is being increasingly adopted in High Performance Computing (HPC) due to its unique way to combine performance with simplicity and interactivity, enabling unprecedented productivity in HPC development. In this workshop, we provide an overview of HPC with Julia and cover three types of parallel computations:

  • Multi-threading: the ability to schedule tasks simultaneously on more than one thread or CPU core, sharing memory (the easiest way to parallelize on shared-memory systems);
  • Multi-processing and distributed computing: the ability to run multiple Julia processes with separate memory spaces on the same or multiple computers;
  • GPU programming: how to port a computational procedure to a graphical processing unit (GPU) via either high-level or low-level programming.

Notebooks:

Julia

Additional tutorials