Skip to content

High-performance scientific computing using Julia

Have you already heard about Julia, the high-level, high-performance scientific computing language of the future?

This course will teach you the basics of Julia, and how to get started writing your code parallel-ready. You will get a glimpse on how to scale your code in a high-performance computing (HPC) environment.

Learning outcomes

This is an introductory course into Julia programming. Attendees will learn, among others:

  • use Julia for a wide range of computation-heavy scientific and software engineering tasks
  • basic skills to process data using Julia language
  • basic practices of program efficiency required for accelerating analyses
  • tips on scaling up computational analyses.

The course will give an overview of the main scientific programming libraries in the Julia ecosystem, giving the attendees the ability to quickly utilize the available software for solving their problems, with additional focus on parallelism and HPC utilization.

Agenda (tentative)

Session I (~50 mins): Getting started

  • Welcome
  • General introduction to Julia
  • Motivation – what problems are best solved with Julia
  • Installation of Julia, REPL, managing packages
  • Programming language basics (variables and types, loops, arrays, functions, …)

(10 mins break)

Session II (~50 mins): Data processing

  • I/O and data manipulation
  • Read, write, different data formats
  • Plotting (data visualization)

(10 mins break)

Session III (~50 mins): High-performance and distributed processing

  • Overview of the usual performance bottlenecks
  • Parallelization model of Julia, threads
  • Distributed programming and helper packages
  • GPU usage

Session IV (~50 mins): Reproducibility

  • Reprodubcibility with Julia
  • Dependency management
  • Notes on containerization

Prerequisites

Detailed instructions on what to prepare will be sent out to confirmed participants.

Participants attending the event will be given access to the MeluXina supercomputer during the session. To learn more about MeluXina, please consult the Meluxina overview and the MeluXina – Getting Started Guide.


Last update: January 31, 2024 09:18:25
Created: October 4, 2023 11:26:19