[ONLINE] Introduction to Parallel Programming
11 - 13 November 2020
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 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
Dr. 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-2020). Currently 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 teaches "Parallel Processing" and "Software and Programming for High Performance Systems" at the same Department. 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