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/"