ENCCS Lessons Graph
Our experts at ENCCS create custom lesson material for all our courses, which is regularly improved and kept up-to-date. Click on the lesson materials from our workshops below which is also fitting for self learning.
Basics of HPC Programming
graph LR
%% Colors %%
classDef white fill:#ffffff,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_a fill:#c9df8a,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_b fill:#77ab59,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_c fill:#36802d,stroke:#000,stroke-width:2px,color:#fff
classDef parrotGreen_d fill:#234d20,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_a fill:#66b2b2,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_b fill:#008080,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_c fill:#006666,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_d fill:#004c4c,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_a fill:#6fa8dc,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_b fill:#3d85c6,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_c fill:#0b5394,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_d fill:#073763,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_a fill:#ab9adb,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_b fill:#8268c8,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_c fill:#5835b6,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_d fill:#2e03a4,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_a fill:#cf9bb8,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_b fill:#b66895,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_c fill:#9e3671,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_d fill:#86044e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_e fill:#6b033e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_f fill:#50022e,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_a fill:#f1c27d,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_b fill:#e0ac69,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_c fill:#c68642,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_d fill:#8d5524,stroke:#000,stroke-width:2px,color:#fff
basic_hpc(["Basics of HPC Programming"]):::shadeTeal_a;
basic_hpc --> intro_lumi(["Introduction to LUMI"]):::shadeTeal_b;
intro_lumi --> port_lumi(["Porting Code to LUMI"]):::shadeTeal_c;
basic_hpc --> intro_hpc(["Introduction to HPC Programming
(Carpentries Incubator)"]):::shadeTeal_b;
click intro_lumi "https://lumi-supercomputer.github.io/LUMI-training-materials/"
click port_lumi "https://enccs.github.io/port-to-lumi/"
click intro_hpc "https://carpentries-incubator.github.io/hpc-intro/"
CPU Programming
graph LR
%% Colors %%
classDef white fill:#ffffff,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_a fill:#c9df8a,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_b fill:#77ab59,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_c fill:#36802d,stroke:#000,stroke-width:2px,color:#fff
classDef parrotGreen_d fill:#234d20,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_a fill:#66b2b2,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_b fill:#008080,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_c fill:#006666,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_d fill:#004c4c,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_a fill:#6fa8dc,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_b fill:#3d85c6,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_c fill:#0b5394,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_d fill:#073763,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_a fill:#ab9adb,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_b fill:#8268c8,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_c fill:#5835b6,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_d fill:#2e03a4,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_a fill:#cf9bb8,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_b fill:#b66895,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_c fill:#9e3671,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_d fill:#86044e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_e fill:#6b033e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_f fill:#50022e,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_a fill:#f1c27d,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_b fill:#e0ac69,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_c fill:#c68642,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_d fill:#8d5524,stroke:#000,stroke-width:2px,color:#fff
cpu_programming(["CPU Programming"]):::xiraMagenta_b;
cpu_programming --> hpp(["Performance Programming"]):::xiraMagenta_c;
cpu_programming --> mpi(["MPI"]):::xiraMagenta_c;
mpi --> mpi_intro(["Introduction to MPI (PDC)"]):::xiraMagenta_d;
mpi --> mpi_intermediate(["Intermediate MPI"]):::xiraMagenta_d;
cpu_programming --> openmp(["OpenMP"]):::xiraMagenta_c;
openmp --> openmp_offloading(["OpenMP Offloading Workshop"]):::xiraMagenta_d;
click hpp "https://enccs.github.io/performance-programming/"
click mpi_intro "https://github.com/ENCCS/MPI-course/"
click mpi_intermediate "https://enccs.github.io/intermediate-mpi/"
click openmp_offloading "https://enccs.github.io/openmp-gpu/"
GPU Programming
graph LR
%% Colors %%
classDef white fill:#ffffff,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_a fill:#c9df8a,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_b fill:#77ab59,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_c fill:#36802d,stroke:#000,stroke-width:2px,color:#fff
classDef parrotGreen_d fill:#234d20,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_a fill:#66b2b2,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_b fill:#008080,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_c fill:#006666,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_d fill:#004c4c,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_a fill:#6fa8dc,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_b fill:#3d85c6,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_c fill:#0b5394,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_d fill:#073763,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_a fill:#ab9adb,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_b fill:#8268c8,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_c fill:#5835b6,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_d fill:#2e03a4,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_a fill:#cf9bb8,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_b fill:#b66895,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_c fill:#9e3671,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_d fill:#86044e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_e fill:#6b033e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_f fill:#50022e,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_a fill:#f1c27d,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_b fill:#e0ac69,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_c fill:#c68642,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_d fill:#8d5524,stroke:#000,stroke-width:2px,color:#fff
gpu_programming(["GPU Programming"]):::xiraMagenta_b;
gpu_programming --> intro_gpu(["Introduction to GPU Programming"]):::xiraMagenta_c;
gpu_programming --> whenwhyhow(["GPU Programming:
When, Why, and How"]):::xiraMagenta_c;
whenwhyhow --> openmp_offloading(["OpenMP Offloading Workshop"]):::xiraMagenta_d;
whenwhyhow --> amd_rocm(["Applications with AMD-ROCm Ecosystems"]):::xiraMagenta_d;
amd_rocm --> hip101(["HIP101 Workshop"]):::xiraMagenta_e;
gpu_programming --> cuda_train(["CUDA Training"]):::xiraMagenta_c;
gpu_programming --> openacc(["OpenACC Training"]):::xiraMagenta_c;
openacc --> openacc_beginner(["OpenACC for Beginners???"]):::xiraMagenta_d;
openacc --> openacc_intermediate(["OpenACC Intermediate???"]):::xiraMagenta_d;
gpu_programming --> sycl(["Programming with SYCL"]):::xiraMagenta_c;
gpu_programming --> port_lumi(["Porting Code to LUMI"]):::xiraMagenta_c;
gpu_programming --> gpu_bootcamp(["GPU Bootcamp"]):::xiraMagenta_c;
click intro_gpu "https://enccs.github.io/intro-gpu-programming/"
click whenwhyhow "https://enccs.github.io/gpu-programming/"
click amd_rocm "https://enccs.github.io/amd-rocm-development/"
click hip101 "https://enccs.github.io/HIP101/"
click cuda_train "https://github.com/ENCCS/cuda/"
click openacc "https://enccs.github.io/openacc/"
click openacc_beginner "https://enccs.github.io/OpenACC-CUDA-beginners/"
click openacc_intermediate "https://enccs.github.io/OpenACC-CUDA-intermediate/"
click sycl "https://enccs.github.io/sycl-workshop/"
click gpu_bootcamp "https://github.com/ENCCS/gpubootcamp/"
High-level Language Programming
graph LR
%% Colors %%
classDef white fill:#ffffff,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_a fill:#c9df8a,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_b fill:#77ab59,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_c fill:#36802d,stroke:#000,stroke-width:2px,color:#fff
classDef parrotGreen_d fill:#234d20,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_a fill:#66b2b2,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_b fill:#008080,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_c fill:#006666,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_d fill:#004c4c,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_a fill:#6fa8dc,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_b fill:#3d85c6,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_c fill:#0b5394,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_d fill:#073763,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_a fill:#ab9adb,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_b fill:#8268c8,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_c fill:#5835b6,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_d fill:#2e03a4,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_a fill:#cf9bb8,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_b fill:#b66895,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_c fill:#9e3671,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_d fill:#86044e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_e fill:#6b033e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_f fill:#50022e,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_a fill:#f1c27d,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_b fill:#e0ac69,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_c fill:#c68642,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_d fill:#8d5524,stroke:#000,stroke-width:2px,color:#fff
high_level_lang(["High Level Language Programming"]):::xiraMagenta_b;
high_level_lang --> python(["Python"]):::xiraMagenta_c;
python --> python_sc(["Python for Scientific Computing
(CodeRefinary)"]):::xiraMagenta_d;
python --> python_hpda(["Python HPDA"]):::xiraMagenta_d;
python --> py_word_count(["Word Count HPDA"]):::xiraMagenta_d;
python --> py_plotting(["Plotting and Programming in Python
(Software Carpentry)"]):::xiraMagenta_d;
python --> py_programming(["Programming with Python
(Software Carpentry)"]):::xiraMagenta_d;
high_level_lang --> julia(["Introduction to Julia"]):::xiraMagenta_c;
julia --> julia_hpc(["Julia HPC"]):::xiraMagenta_d;
julia --> julia_hpda(["Julia HPDA"]):::xiraMagenta_d;
julia_hpc --> julia_2dheat(["2D Heat Equation in Julia"]):::xiraMagenta_e;
julia_hpda --> julia_2dheat(["2D Heat Equation in Julia"]):::xiraMagenta_e;
click python_sc "https://aaltoscicomp.github.io/python-for-scicomp/"
click python_hpda "https://enccs.github.io/hpda-python/"
click py_word_count "https://github.com/ENCCS/word-count-hpda"
click py_plotting "https://swcarpentry.github.io/python-novice-gapminder/"
click py_programming "https://swcarpentry.github.io/python-novice-inflammation/"
click julia "https://github.com/ENCCS/julia-intro/"
click julia_hpc "https://enccs.github.io/julia-for-hpc/"
click julia_hpda "https://enccs.github.io/julia-for-hpda/"
click julia_2dheat "https://github.com/ENCCS/HeatEquation.jl"
HPC Applications
graph LR
%% Colors %%
classDef white fill:#ffffff,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_a fill:#c9df8a,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_b fill:#77ab59,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_c fill:#36802d,stroke:#000,stroke-width:2px,color:#fff
classDef parrotGreen_d fill:#234d20,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_a fill:#66b2b2,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_b fill:#008080,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_c fill:#006666,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_d fill:#004c4c,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_a fill:#6fa8dc,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_b fill:#3d85c6,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_c fill:#0b5394,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_d fill:#073763,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_a fill:#ab9adb,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_b fill:#8268c8,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_c fill:#5835b6,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_d fill:#2e03a4,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_a fill:#cf9bb8,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_b fill:#b66895,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_c fill:#9e3671,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_d fill:#86044e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_e fill:#6b033e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_f fill:#50022e,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_a fill:#f1c27d,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_b fill:#e0ac69,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_c fill:#c68642,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_d fill:#8d5524,stroke:#000,stroke-width:2px,color:#fff
hpc_application(["HPC Applications"]):::xiraMagenta_b;
hpc_application --> dft(["Electronic Structures Calculations"]):::xiraMagenta_c;
dft --> vasp(["VASP Best Practices Workshop"]):::xiraMagenta_d;
dft --> emto(["EMTO Tutorials"]):::xiraMagenta_d;
dft --> molcas(["OpenMolcas Developers Workshop"]):::xiraMagenta_d;
dft --> max(["Efficient Materials Modelling"]):::xiraMagenta_d;
max --> with_bigdft(["QUANTUM ESPRESSO, Yambo, and BigDFT"]):::xiraMagenta_e;
max --> with_siesta(["QUANTUM ESPRESSO, SIESTA, and Yambo"]):::xiraMagenta_e;
dft --> veloxchem(["VeloxChem Quantum Chemistry"]):::xiraMagenta_d;
veloxchem --> laotophpc(["From Laptop to HPC"]):::xiraMagenta_e;
veloxchem --> extrascale(["Toward Preeascale and Beyond"]):::xiraMagenta_e;
dft --> trex(["Quantum Monte Carlo with
Quantum Package and CHAMP"]):::xiraMagenta_d;
dft --> naunet(["Naunet AstroChemistry Tools"]):::xiraMagenta_d;
naunet --> ism(["Naunet ISM"]):::xiraMagenta_e;
naunet --> primordial(["Naunet Primordial"]):::xiraMagenta_e;
dft --> classyq(["ClassyQ"]):::xiraMagenta_d;
hpc_application --> md(["Molecular Dyanmics Simulations"]):::xiraMagenta_c;
md --> gro_installation(["GROMACS Installation Instructions"]):::xiraMagenta_d;
md --> gro_performance(["GROMACS GPU Performance"]):::xiraMagenta_d;
md --> gro_sampling(["GROMACS Umbrella Sampling Tutorials"]):::xiraMagenta_d;
hpc_application --> cfd(["CFD Calculations"]):::xiraMagenta_c;
cfd --> openfoam(["OpenFOAM Training Workshop"]):::xiraMagenta_d;
cfd --> nek5000(["Training on Nek5000"]):::xiraMagenta_d;
cfd --> ophidia(["Training on HPDA for Climate Data
with Ophidia Framework (ESiWACE CoE)"]):::xiraMagenta_d;
click vasp "https://enccs.github.io/vasp-best-practices/"
click emto "xxx"
click molcas "https://enccs.github.io/openmolcas-2022/"
click max "http://www.max-centre.eu/"
click with_bigdft "https://enccs.github.io/efficient-materials-modelling-on-hpc/"
click with_siesta "https://enccs.github.io/max-coe-workshop/"
click veloxchem "https://veloxchem.org/"
click laotophpc "https://enccs.github.io/veloxchem-workshop/"
click extrascale "https://enccs.github.io/veloxchem-hpc/"
click trex "https://trex-coe.github.io/school-ncc-2023/"
click naunet "https://appolloford.github.io/naunet/"
click ism "https://github.com/ENCCS/naunet_cuda_ism/"
click primordial "https://github.com/ENCCS/naunet_cuda_primordial/"
click classyq "https://classyq.readthedocs.io/en/latest/"
click gro_installation "https://github.com/ENCCS/gromacs-workshop-installation/"
click gro_performance "https://enccs.github.io/gromacs-gpu-performance/"
click gro_sampling "https://github.com/ENCCS/umbrella-sampling-tutorial-test/"
click openfoam "https://enccs.github.io/openfoam/"
click nek5000 "https://enccs.se/events/training-on-nek5000/"
click ophidia "https://github.com/ESiWACE/hpda-vis-training/tree/master/"
Quantum Computing
graph LR
%% Colors %%
classDef white fill:#ffffff,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_a fill:#c9df8a,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_b fill:#77ab59,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_c fill:#36802d,stroke:#000,stroke-width:2px,color:#fff
classDef parrotGreen_d fill:#234d20,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_a fill:#66b2b2,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_b fill:#008080,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_c fill:#006666,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_d fill:#004c4c,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_a fill:#6fa8dc,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_b fill:#3d85c6,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_c fill:#0b5394,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_d fill:#073763,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_a fill:#ab9adb,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_b fill:#8268c8,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_c fill:#5835b6,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_d fill:#2e03a4,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_a fill:#cf9bb8,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_b fill:#b66895,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_c fill:#9e3671,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_d fill:#86044e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_e fill:#6b033e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_f fill:#50022e,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_a fill:#f1c27d,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_b fill:#e0ac69,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_c fill:#c68642,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_d fill:#8d5524,stroke:#000,stroke-width:2px,color:#fff
quantum_comput(["Quantum Computing"]):::xiraMagenta_b;
quantum_comput --> hybrid_hpcqc(["Introduction to Quantum Computing &
Hybrid HPC-QC Systems"]):::xiraMagenta_c;
quantum_comput --> antumn_school(["Quantum Autumn School"]):::xiraMagenta_c;
click hybrid_hpcqc "https://enccs.github.io/nordiquest-workshop/"
click antumn_school "https://enccs.github.io/qas2023/"
Machine Learning & Artificial Intelligence
graph LR
%% Colors %%
classDef white fill:#ffffff,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_a fill:#c9df8a,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_b fill:#77ab59,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_c fill:#36802d,stroke:#000,stroke-width:2px,color:#fff
classDef parrotGreen_d fill:#234d20,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_a fill:#66b2b2,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_b fill:#008080,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_c fill:#006666,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_d fill:#004c4c,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_a fill:#6fa8dc,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_b fill:#3d85c6,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_c fill:#0b5394,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_d fill:#073763,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_a fill:#ab9adb,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_b fill:#8268c8,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_c fill:#5835b6,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_d fill:#2e03a4,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_a fill:#cf9bb8,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_b fill:#b66895,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_c fill:#9e3671,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_d fill:#86044e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_e fill:#6b033e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_f fill:#50022e,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_a fill:#f1c27d,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_b fill:#e0ac69,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_c fill:#c68642,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_d fill:#8d5524,stroke:#000,stroke-width:2px,color:#fff
mlai(["Machine Learning &
Artificial Intelligence"]):::tamboFox_a;
mlai --> intro_dl(["Introduction to Deep Learning"]):::tamboFox_b;
intro_dl --> practical_dl(["Practical Deep Learning Workshop"]):::tamboFox_c;
mlai --> gnn_transformer(["Graph Neural Networks & Transformer"]):::tamboFox_b;
mlai --> hodt(["Hyperparameter Optimization &
Distributed Training"]):::tamboFox_b;
hodt --> ho_optuna(["Hyperparameter Optimization using Optuna"]):::tamboFox_c;
hodt --> dpt(["Distributed PyTorch Training:
Single vs Multiple Nodes"]):::tamboFox_c;
hodt --> pddp(["PyTorch DistributedDataParallel Workshop"]):::tamboFox_c;
mlai --> nlp(["Natural Language Processing"]):::tamboFox_b;;;
nlp --> contemp_nlp(["Contemporary NLP Workshop"]):::tamboFox_c;
nlp --> swedish_nlp(["Swedish Language Corpuses for
Text-to-Speech Training with NeMo"]):::tamboFox_c;
mlai --> upscaling_ai(["Upscaling AI Training"]):::tamboFox_b;
mlai --> creative_ai(["Creative AI Webinar"]):::tamboFox_b;
mlai --> ai_tool_change(["AI as A Tool for Change"]):::tamboFox_b;
click intro_dl "https://enccs.github.io/deep-learning-intro/"
click practical_dl "https://github.com/csc-training/intro-to-dl"
click gnn_transformer "https://enccs.github.io/gnn-transformers/"
click hodt "Hyperparameter Optimization & Distributed Training"
click ho_optuna "https://enccs.github.io/hp_optimization/"
click dpt "https://github.com/ENCCS/partorch"
click pddp "https://github.com/ENCCS/partorch"
click contemp_nlp "https://enccs.github.io/contemporary-nlp/"
click swedish_nlp "https://github.com/ENCCS/swedish-tts/"
click upscaling_ai "https://enccs.github.io/upscaling-ai-training/"
click creative_ai "https://www.youtube.com/watch?v=NjUhh-47Kdk"
click ai_tool_change "https://www.youtube.com/watch?v=_FMnopQNF3M"
Programming Tools
graph LR
%% Colors %%
classDef white fill:#ffffff,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_a fill:#c9df8a,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_b fill:#77ab59,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_c fill:#36802d,stroke:#000,stroke-width:2px,color:#fff
classDef parrotGreen_d fill:#234d20,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_a fill:#66b2b2,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_b fill:#008080,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_c fill:#006666,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_d fill:#004c4c,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_a fill:#6fa8dc,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_b fill:#3d85c6,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_c fill:#0b5394,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_d fill:#073763,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_a fill:#ab9adb,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_b fill:#8268c8,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_c fill:#5835b6,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_d fill:#2e03a4,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_a fill:#cf9bb8,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_b fill:#b66895,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_c fill:#9e3671,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_d fill:#86044e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_e fill:#6b033e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_f fill:#50022e,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_a fill:#f1c27d,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_b fill:#e0ac69,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_c fill:#c68642,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_d fill:#8d5524,stroke:#000,stroke-width:2px,color:#fff
pt(["Programming Tools"]):::indigoish_a;
pt --> unix_shell(["The Unix Shell (Software Carpentry)"]):::indigoish_b;
unix_shell --> shell_extras(["Extra Unix Shell Material (Carpentries Incubator)"]):::indigoish_c;
pt --> cmake(["CMake Workshop"]):::indigoish_b;
pt --> research_software(["Research Software Development"]):::indigoish_b;
research_software --> tool_software(["Tools and Best Practices in Modern
Research Software Development (CodeRefinery)"]):::indigoish_c;
research_software --> documentation(["How to Document Your Research Software (Coderefinary)"]):::indigoish_c;
research_software --> software_testing(["Software Testing Workshop (CodeRefinery)"]):::indigoish_c;
pt --> testing(["Testing"]):::indigoish_b;
testing --> software_testing;
testing --> automated_testing(["Automated Testing (CodeRefinery)"]):::indigoish_c;
pt --> reproducible_research(["Reproducible Research (Coderefinary)"]):::indigoish_b;
pt --> version_control(["Version Control (Coderefinary)"]):::indigoish_b;
version_control --> intro_git(["Introduction to Version Control with Git"]):::indigoish_c;
version_control --> git_collaborative(["Collaborative Distributed Version Control"]):::indigoish_c;
pt --> social_coding(["Social Coding and Open Software (Coderefinary)"]):::indigoish_b;
pt --> modular_code(["Modular Code Development (Coderefinary)"]):::indigoish_b;
pt --> intro_container(["Introduction to Containers"]):::indigoish_b;
click unix_shell "https://swcarpentry.github.io/shell-novice/"
click shell_extras "https://carpentries-.github.io/shell-extras/"
click intro_container "https://enccs.github.io/containers/"
click cmake "https://enccs.github.io/cmake-workshop/"
click software_testing "https://coderefinery.github.io/2021-03-17-testing-hackathon/"
click automated_testing "https://coderefinery.github.io/testing/"
click intro_git "https://coderefinery.github.io/git-intro/"
click git_collaborative "https://coderefinery.github.io/git-collaborative/"
click reproducible_research "https://coderefinery.github.io/reproducible-research/"
click social_coding "https://coderefinery.github.io/social-coding/"
click documentation "https://coderefinery.github.io/documentation/"
click modular_code "https://coderefinery.github.io/modular-type-along/"
Other Services
graph LR
%% Colors %%
classDef white fill:#ffffff,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_a fill:#c9df8a,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_b fill:#77ab59,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_c fill:#36802d,stroke:#000,stroke-width:2px,color:#fff
classDef parrotGreen_d fill:#234d20,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_a fill:#66b2b2,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_b fill:#008080,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_c fill:#006666,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_d fill:#004c4c,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_a fill:#6fa8dc,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_b fill:#3d85c6,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_c fill:#0b5394,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_d fill:#073763,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_a fill:#ab9adb,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_b fill:#8268c8,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_c fill:#5835b6,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_d fill:#2e03a4,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_a fill:#cf9bb8,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_b fill:#b66895,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_c fill:#9e3671,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_d fill:#86044e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_e fill:#6b033e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_f fill:#50022e,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_a fill:#f1c27d,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_b fill:#e0ac69,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_c fill:#c68642,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_d fill:#8d5524,stroke:#000,stroke-width:2px,color:#fff
others(["Other Services"]):::parrotGreen_a;
others --> eurohpc(["EuroHPC JU Systems
Access Application Procedures"]):::parrotGreen_b;
others --> beginner_using_sc(["A Beginner's Guide to Using A Supercomputer ???"]):::parrotGreen_b;
others --> poc(["Proof-of-Concept Development"]):::parrotGreen_b;
click beginner_using_sc "https://www.youtube.com/watch?v=HB9JUH0mPqI"
click eurohpc "https://enccs.github.io/ju-systems-applications-procedures/"
click poc "xxx"
Instructor Training Program
graph LR
%% Colors %%
classDef white fill:#ffffff,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_a fill:#c9df8a,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_b fill:#77ab59,stroke:#000,stroke-width:2px,color:#000
classDef parrotGreen_c fill:#36802d,stroke:#000,stroke-width:2px,color:#fff
classDef parrotGreen_d fill:#234d20,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_a fill:#66b2b2,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_b fill:#008080,stroke:#000,stroke-width:2px,color:#000
classDef shadeTeal_c fill:#006666,stroke:#000,stroke-width:2px,color:#fff
classDef shadeTeal_d fill:#004c4c,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_a fill:#6fa8dc,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_b fill:#3d85c6,stroke:#000,stroke-width:2px,color:#000
classDef tamboFox_c fill:#0b5394,stroke:#000,stroke-width:2px,color:#fff
classDef tamboFox_d fill:#073763,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_a fill:#ab9adb,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_b fill:#8268c8,stroke:#000,stroke-width:2px,color:#000
classDef indigoish_c fill:#5835b6,stroke:#000,stroke-width:2px,color:#fff
classDef indigoish_d fill:#2e03a4,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_a fill:#cf9bb8,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_b fill:#b66895,stroke:#000,stroke-width:2px,color:#000
classDef xiraMagenta_c fill:#9e3671,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_d fill:#86044e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_e fill:#6b033e,stroke:#000,stroke-width:2px,color:#fff
classDef xiraMagenta_f fill:#50022e,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_a fill:#f1c27d,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_b fill:#e0ac69,stroke:#000,stroke-width:2px,color:#000
classDef skinTones_c fill:#c68642,stroke:#000,stroke-width:2px,color:#fff
classDef skinTones_d fill:#8d5524,stroke:#000,stroke-width:2px,color:#fff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Instructor Training Programme %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
instructor_training(["Instructor Training Programme"]):::skinTones_a;
instructor_training --> bp_hpc(["Best Practices in HPC Training"]):::skinTones_b;
click bp_hpc "https://enccs.github.io/instructor-training/"