Lesson Material

Our experts at ENCCS create custom lesson material for all our courses, as well as external organisations that we have close collaboration with. The lessons are regularly improved and kept up-to-date. Click on the lesson materials from our workshops below which are also fitting for self learning.

Basics of HPC
Introduction to HPC Programming

These courses are suitable for someone who isn’t experienced with supercomputers. They will require a basic knowledge of Unix shell commands. 

Programming tools
Introduction to the Unix shell
Extra Unix Shell Material
CMake hands-on workshop
Best Practices and Tools for Software Development
Introduction to containers

These courses are for people that are interested in learning about different tools and best practices in software development.

CPU Programming
An image with a text "Performance programming"
Performance Programming
Image showing the title "Introduction to MPI"
Introduction to MPI
Intermediate MPI

These courses are suitable for people that want to optimise their code on one node, as well as parallelise their code to run on multiple-node systems to harvest the power of modern supercomputers.

GPU Programming
GPU Programming. Why. When. How.
GPU: Why, When and How?
GPU bootcamp
AMD Logo, ENCCS logo
AMD ROCm ecosystem
ENCCS logo followed by "Introduction to OpenACC/CUDA"
Intro to CUDA & OpenACC
ENCCS logo followed by the text "Intermediate OpenACC/CUDA"
Intermediate OpenACC/CUDA
ENCCS and SYCL logos
Heterogeneous programming with SYCL
OpenMP Offloading

These courses are suitable for people that want to use GPUs as accelerators for their code.

AI
Supercomputing forAI
AI as a tool for change
ENCCS logo
Creative AI
Introduction to Deep Learning
Graph Neural Networks and Transformers
Hyper Parameter Search using Optuna

These courses are suitable for people that are interested in AI and Natural Language Processing (NLP) 

High-level Language Programming
Python for Scientific Computing
HPDA in Python
High Performance Data Analytics in Python
Plotting and Programming in Python
Programming with
Python
Python Performance
Julia logo and ENCCS logo
Introduction to Julia
Julia for HPC
Julia for High-Performance Computing
Julia for High Performance Data Analytics
Julia for High-Performance Data Analytics

These courses are for people that are interested in using Python or Julia in supercomputers.

Electronic Structure Calculations
VASP best practices
EMTO best practices
Quantum ESPRESSO, Yambo and BigDFT
Quantum ESPRESSO, Siesta and Yambo
Quantum chemistry from laptop to HPC
Quantum chemistry towards pre-exascale and beyond
Targeting chemical accuracy with quantum Monte Carlo on LUMI

These courses are for people that are working with computational chemistry or material science.

Molecular Dynamics
GROMACS GPU performance
GROMACS Umbrella Sampling

These courses are for people that are working with biomolecular simulations,

Computational Fluid Dynamics
OpenFOAM 
NEK5000
HPDA for climate data with  Ophidia network

These courses are for people that are working with computational fluid dynamics.

Quantum Computing
Introduction to Quantum Computing and hybrid
HPC-QC systems
Quantum Autumn School 2023

These courses are for people that need an introduction to quantum computing and its relation to high-performance computing.

Instructor Training Program
Best practices in HPC training

This course is for lecturers interested in giving courses in HPC. It was developed by ENCCS and continues to be updated by both EuroCC National Competence Centres and Centres of Excellence.