Skip to content

RobertRosca/julia-hpc-workshop

Repository files navigation

Jupyter for HPC - EuXFEL Trial Run

Indico event page - https://indico.desy.de/event/36933/

This is built on top of the Julia for HPC Course at HLRS by Carsten Bauer - https://github.com/carstenbauer/JuliaHLRS22

Introduction

Julia is a language created specifically for use in scientific computing, it aims to offer the performance of low-level compiled language while retaining the simplicity and ease of use of high-level interpreted languages like Python.

This workshop covers the foundations of the language, showing its unique features and use cases, and gives an overview of the key concepts required to achieve high performance in Julia.

The course is roughly structured as follows:

Familiarity with a programming language and Jupyter notebooks is required, but no experience with Julia is needed.

This workshop is an internal trial run for the EuXFEL Data Department to test the viability of providing such a workshop to users and the photon science community at large, so expect some lack of polish and growing pains.

The schedule is still not determined. As shown in the image above each area (basics, serial, and parallel) has one main session which is two hours long, and two shorter (optional) sessions which are one hour long each and include some exercises. Given this there are two options for running the workshop:

Software Setup

You can participate from any linux-based computer, the only requirements are Julia and Jupyter (Lab).

Maxwell

Easiest option is to use Max-JHub, as Julia is already available on the cluster. There's no need to allocate a dedicated node, shared nodes are fine for the contents in these notebooks.

You can start a JHub session via https://max-jhub.desy.de/hub/spawn

Julia is provided with the module system, in a terminal run module load maxwell julia to load Julia

Personal Computer

If you are using your own computer then you will need to install Julia either via your package manager or (recommended) using JuliaUp:

curl -fsSL https://install.julialang.org | sh
juliaup add 1.8  # this has been written and tested using 1.8.4, any version ~1.8 should work

If you do not have JupyterLab installed, then you can install it in Python via in your preferred way (pipx, pip, conda, etc...).

Getting the Course

Clone this repository under your user directory, a branch has been set up for this event:

git clone https://github.com/RobertRosca/julia-hpc-workshop.git
cd julia-hpc-workshop
# module load maxwell julia  # If you are on Maxwell
make setup  # will install required Julia dependencies

Static Site

A static version of the notebooks is available here: https://robertrosca.github.io/julia-hpc-workshop/main/README.html

Binder

Binder sessions for this can be started here (note that you will lose any changes unless you export the notebook files and download them): https://mybinder.org/v2/gh/robertrosca/julia-hpc-workshop/HEAD

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published