Course: Introduction to parallel programming

Europe/Ljubljana
Faculty of Mechanical Engineering, UL

Faculty of Mechanical Engineering, UL

Aškerčeva cesta 6, 1000 Ljubljana, Slovenia
Description

Description: This course gives beginner programmers an introduction to parallel programming.
Parallel programming describes the breaking down of a larger problem into smaller steps. Instructions are delivered to multiple processors, which will execute necessary calculations in parallel – hence the name.
On this course, you will explore the fundamentals of parallel programming using C, C++, Python, Fortran, CUDA/OpenCL or similar programming languages.

Difficulty: Basic

Language: Slovene or English (depending on registered people).

Maximum number of participants: 30

Location: Faculty of Mechanical Engineering, Aškerčeva cesta 6, 1000 Ljubljana, Slovenia (see timetable for room numbers).

Organizator/ Organizer

  


Lecturers:

Name: Leon Kos
Description: He is an assistant professor at ULFME and is well qualified for several HPC related topics. He is a qualified trainer from the HLRS train-the-trainers program and was the key developer of PRACE MOOC Managing Big Data with R and Hadoop. He has been the leader of PRACE Summer of HPC trainings in 2014, 2015, 2016, 2017, 2018 and 2019. He is also Slovenian holder of several national and international projects.
E-mail: leon.kos@fs.uni-lj.si
Name: Janez Povh
Description: He is an associate professor at ULFME with a long track of teaching duties at university (a former Dean at Faculty of Information studies in Novo Mesto, Slovenia). With mathematical background he is a specialist in Big Data methods and their implementation in Hadoop and RHadoop. Beside this he is a well experienced with creating and implementing parallel algorithms for mathematical optimization problems. He is one of the leading educators in PRACE MOOC Managing Big Data with R and Hadoop. He is also Slovenian holder of several national and international projects.
E-mail: janez.povh@fs.uni-lj.si
Name: Matic Brank
Description: He is a PhD student at the Faculty of Mechanical Engineering at the University of Ljubljana and a member of Plasma Engineering Group at LECAD laboratory. He is currently working on his PhD thesis titled "A Framework for Computation of Heat Loads on ITER First Wall Panel" under the supervision of dr. Leon Kos and dr. Richard Pitts from ITER Organisation. Aim of this PhD thesis is to develop synthetic diagnostic temperature distribution on first wall panels with the help of Elmer finite element package based on distribution of heat flux from SMARDDA code. He has an extensive knowledge of Smiter code, Elmer FEM package, CAD modelling and meshing. In recent years he contributed to SmiterGUI code and worked on benchmarking SMARDDA code against PFCFLUX. He has experience in Matlab, Python and Fortran90.. He will contribute to the code refactoring schemes of all project supported codes.
E-mail: matic.brank@fs.uni-lj.si

Registration
Registration
    • 1:00 PM 2:00 PM
      What are supercomputers, why do we need them, how they are used? III/3A

      III/3A

      What is a shared memory computer? The concept architecture and real hardware.
      Introducing the participants to modern hardware, HPCs.
      Using HPC-FS and NoMachine desktop.

      Conveners: Leon Kos (UL FS), Janez Povh (University of Ljubljana, Faculty of Mechanical Engineering)
    • 2:00 PM 2:30 PM
      Coffee break 30m
    • 2:30 PM 5:00 PM
      What are supercomputers, why do we need them, how they are used? III/3A

      III/3A

      What is a shared memory computer? The concept architecture and real hardware.
      Introducing the participants to modern hardware, HPCs.
      Using HPC-FS and NoMachine desktop.

      Conveners: Leon Kos (UL FS), Janez Povh (University of Ljubljana, Faculty of Mechanical Engineering)
    • 1:00 PM 2:00 PM
      Introduction to OpenMP IV/2

      IV/2

      Setting up environment for OpenMP, description of the basic program environment and running of basic programs.
      Outline:
      What is OpenMP
      Timeline
      Main Terminology
      OpenMP Programming Model
      Main Components
      Parallel Construct
      Work-sharing Constructs (sections, single, workshare)
      Data Clauses (default, shared, private, ...)

      Convener: Matic Brank (University of Ljubljana, Faculty of Mechanical Engineering)
    • 2:00 PM 2:30 PM
      Coffee break 30m
    • 2:30 PM 5:00 PM
      Introduction to OpenMP IV/2

      IV/2

      Setting up environment for OpenMP, description of the basic program environment and running of basic programs.
      Outline:
      What is OpenMP
      Timeline
      Main Terminology
      OpenMP Programming Model
      Main Components
      Parallel Construct
      Work-sharing Constructs (sections, single, workshare)
      Data Clauses (default, shared, private, ...)

      Convener: Matic Brank (University of Ljubljana, Faculty of Mechanical Engineering)
    • 1:00 PM 2:00 PM
      Introduction to MPI II/3B

      II/3B

      Outline:
      Introduction
      Advanced collective communication
      Basic collective communication
      Non-blocking communication
      Point-to-point communication
      One-sided communication (essential concepts, advantages)

      Convener: Leon Kos (UL FS)
    • 2:00 PM 2:30 PM
      Coffee break 30m
    • 2:30 PM 5:00 PM
      Introduction to MPI II/3B

      II/3B

      Outline:
      Introduction
      Advanced collective communication
      Basic collective communication
      Non-blocking communication
      Point-to-point communication
      One-sided communication (essential concepts, advantages)

      Convener: Leon Kos (UL FS)