The Luxembourg SuperComputing Competence Center is hosting an online introduction to Julia programming for using CPU and GPU. The sessions will focus on the theory part, and following that, there will be hands-on challenges on the MeluXina supercomputer GPU accelerators.
For whom?
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 of how to scale your code in a high-performance computing (HPC) environment.
What will you learn and how?
This is an introductory course in 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.
Learning outcomes
Session I (~45 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, …)
- I/O and data manipulation
- Read and write different data formats
- Plotting (data visualization)
- Overview of the usual performance bottlenecks
- Parallelization model of Julia, threads
- Distributed programming and helper packages
- GPU usage
- Reproducibility with Julia
- Dependency management
- Notes on containerization
The course will give an overview of the main scientific programming libraries in the Julia ecosystem, allowing the attendees to quickly utilize the available software for solving their problems, with an additional focus on parallelism and HPC utilization
Prerequisites
Detailed instructions on what to prepare will be sent out to confirmed participants.
GPU Compute Resource
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.
Agenda
This half-day course will be hosted online (CET time). All communication will be done through Zoom, Slack and email.
Tuesday, Oct. 24th, 2023: 09:00 PM – 13:00PM
- 09:00 AM - 09:45 AM: Lecture (& practical) Part 1
- 09:45 AM - 10:00 AM: Break 1
- 10:00 AM - 10:45 AM: Lecture (& practical) Part 2
- 10:45 AM - 11:00 AM: Break 2
- 11:00 AM - 11:45 AM: Lecture (& practical) Part 3
- 11:45 AM - 12:00 AM: Break 3
- 12:00 PM - 12:45 PM Lecture (& practical) Part 4
- 12:45 PM - 13:00 PM: Q & A
Important: Only limited spots!!!
Contact people for more information: