[ONLINE] Introduction to Parallel Programming
14 - 16 December 2021
Purpose of the course
The focus is to understand the basics of parallel programming with the message-passing interface (MPI) and OpenMP parallel programming paradigms. MPI is the dominant parallelization paradigm in high performance computing and enables one to write programs that run on distributed memory machines, such as the ARIS Greek supercomputer and other systems of the PRACE infrastructure. OpenMP is a threading based approach which enables one to parallelize a program over a single shared memory machine, such as a single node in ARIS. The course also contains performance and best practice considerations, e.g., hybrid MPI+OpenMP parallelization. The course ends with a section presenting profiling and code optimizations to understand the behavior and performance of parallelized codes.
The 3 day course consist of lectures and hands-on exercises on parallel programming. Hands-on sessions (in C and Fortran) will allow users to immediately test and understand the taught constructs of the Message Passing Interface (MPI) and the shared memory directives of OpenMP. The course ends with a section presenting profiling and code optimizations to understand the behavior and performance of parallelized codes.
After the course the participants should be able to write simple parallel programs and parallelize existing programs with the basic features of MPI and/or OpenMP. Users should also be able to perform basic profiling and debugging of parallel applications.
The training programme is comprised of short sessions, while there will be time for Q&A.
|Day 1 (10:30 - 14:00)||
Intro (Dimitris Dellis)
General Parallel Programming concepts (Ioannis Venetis)
OpenMP (Ioannis Venetis)
|Day 1 (15:00 - 17:00)||
Training Environment Introduction (Dimitris Dellis)
Hands-on on OpenMP (Ioannis Venetis and Dimitris Dellis)
|Day 2 (10:30 - 12:30)||Introduction to MPI (Ioannis Venetis)|
|Day 2 (12:30 - 14:00)||Hybrid MPI + OpenMP (Ioannis Venetis + Dimitris Dellis)|
|Day 2 (15:00 - 17:00)||Hands-On (Ioannis Venetis + Dimitris Dellis)|
|Day 3 (10:30 - 11:30)||Compilers and Debuggers (Dimitris Dellis)|
|Day 3 (12:00 - 14:00)||Profiling and Optimizations (Dimitris Dellis)|
|Day 3 (15:00 - 17:00)||Hands-on + Q&A (Dimitris Dellis)|
The course addresses participants who are familiar with the C/C++ or Fortran programming languages and have working experience with the Linux operating system and the use of the command line. Experience with parallel programming (MPI and OpenMP) is not required.
Hands on sessions will run on participants computers. An HPC like environment with the necessary tools within a Virtual Machine image will be provided.
Course language is English.
ONLINE using zoom.
Connection details will be mailed 2 days prior to the course. Since the e-mail contains links, please also check Spam folders.
Prices and Eligibility
The course is open and free of charge for people from academia and industry from the Member States (MS) of the European Union (EU) and Associated & Other Countries to the Horizon 2020 programme.
Please register with your official e-mail address to prove your affiliation.
Dr. Dimitris Dellis (Male) holds a B.Sc. in Chemistry (1990) and PhD in Computational Chemistry (1995) from the National and Kapodistrian University of Athens, Greece. He has extensive HPC and grid computing experience. In EGEE/EGI projects he acted as application support and VO software manager for SEE VO, grid sites administrator, NGI_GRNET support staff (2008-2014). In PRACE 1IP-6IP he was involved in benchmarking tasks either as group member or as BCO (2010-2021). Since 2018 he holds the position of “HPC Team leader” at GRNET S.A.
Dr. Ioannis E. Venetis received his PhD in 2006 from the Computer Engineering and Informatics Department at the University of Patras, Greece. Currently he is an Assistant Professor at the Informatics Department at the University of Piraeus in Greece, where he teaches, among others, "Parallel Computing". He has participated in numerous research projects in the area of Parallel Computing. His main research interests include parallel programming models, run-time systems for supporting such models, co-processor programming (especially using GPUs and the Intel Xeon Phi) and parallelization of computationally demanding applications.
GRNET – National Infrastructures for Research and Technology, is the national network, cloud computing and IT e-Infrastructure and services provider. It supports hundreds of thousands of users in the key areas of Research, Education, Health and Culture.
GRNET provides an integrated environment of cutting-edge technologies integrating a country-wide dark fiber network, data centers, a high performance computing system and Internet, cloud computing, high-performance computing, authentication and authorization services, security services, as well as audio, voice and video services.
GRNET scientific and advisory duties address the areas of information technology, digital technologies, communications, e-government, new technologies and their applications, research and development, education, as well as the promotion of Digital Transformation.
Through international partnerships and the coordination of EC co-funded projects, it creates opportunities for know-how development and exploitation, and contributes, in a decisive manner, to the development of Research and Science in Greece and abroad.
National Infrastructures for Research and Technology – Networking Research and Education