Introduction to Parallel Programming @GRNET


Introduction to Parallel Programming

20 - 22 November 2018

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 parallelisation. The course ends with a section presenting profiling and code optimisations to understand the behavior and performance of parallelized codes.

The 3 day course consists 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.

Bring your own laptop in order to be able to participate in the training hands on. Hands on work will be done in pairs so if you don’t have a laptop you might work with a colleague.

Course language is English.


The maximum number of participants is 25.

Registrations will be evaluated on a first-come, first-served basis. GRNET is responsible for the selection of the participants on the basis of the training requirements and the technical skills of the candidates. GRNET will also seek to guarantee the maximum possible geographical coverage with the participation of candidates from many countries.


GRNET headquarters

Address: 2nd  Floor, 7, Kifisias Av. GR 115 23 Athens

Information on how to reach GRNET headquarters ia available on GRNET website:  

Accommodation options near GRNET can be found at:

ARIS - System Information

ARIS is the name of the Greek supercomputer, deployed and operated by GRNET (Greek Research and Technology Network) in Athens. ARIS consists of 532 computational nodes seperated in four “islands” as listed here:

  • 426 thin nodes: Regular compute nodes without accelerator.

  • 44 gpu nodes: “2 x NVIDIA Tesla k40m” accelerated nodes.

  • 18 phi nodes: “2 x INTEL Xeon Phi 7120p” accelerated nodes.

  • 44 fat nodes: Fat compute nodes have larger number of cores and memory per core than a thin node.

All the nodes are connected via Infiniband network and share 2PB GPFS storage.The infrastructure also has an IBM TS3500 library of maximum storage capacity of about 6 PB. Access to the system is provided by two login nodes.

About Tutors

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. He was using HPC systems in computational chemistry research projects on fz-juelich machines (2003-2005). He received an HPC-Europa grant on BSC (2009). In EGEE/EGI projects he acted as application support and VO software manager for SEE VO, grid sites administrator (HG-02, GR-06), NGI_GRNET support staff (2008-2014). In PRACE 1IP/2IP/3IP/4IP/5IP he was involved in benchmarking tasks either as group member or as BCO (2010-2017). Currently he holds the position of “Senior HPC Applications Support Engineer” at GRNET S.A. where he is responsible for activities related to user consultations, porting, optimization and running HPC applications at national and international resources.

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.

Mr. Nikolaos Nikoloutsakos holds a diploma of Engineering in Computer Engineering and Informatics (2014) from the University of Patras, Greece. From 2015 he works as software engineer at GRNET S.A. where he is part of the user application support team for the ARIS HPC system. He has been involved in major national and European projects, such as PRACE and EUDAT. His main research interests include parallel programming models, co-processor programming using GPUs and Intel Xeon Phis.

Dr. Aristeidis Sotiropoulos received his BSc in Computer Science in 1998 from the University of Crete, Greece and his PhD in Parallel Processing and Cluster Computing in 2004 from the National Technical University of Athens, Greece. His interests mainly focus on the fields of Large Scale Computing & Storage Systems, System Software for Scalable High Speed Interconnects for Computer Clusters and Advanced Microprocessor Architectures. He has published several scientific papers in international journals and conference proceedings. He has received the IEEE IPDPS 2001 best paper award for the paper "Minimizing Completion Time for Loop Tiling with Computation and Communication Overlapping". He has worked in several European and National R&D programs in the field of High Performance Computing, Grid Computing, Cloud Computing and Storage. In 2013, he was appointed as the Head of Operations and Financial Management Services, in charge of 15 people. Currently, he is managing EC projects at GRNET SA, the Greek NREN responsible for the provision of advanced e-infrastructure services to the Greek Academic and Research Community.


GRNET provides Internet connectivity, high-quality e-Infrastructures and advanced services to the Greek Educational, Academic and Research community.

Through its high-speed, high-capacity infrastructure that spans across the entire country, GRNET interconnects more than 150 institutions, including all universities and technological institutions, as well as many research institutes and the public Greek School Network.

GRNET operates the National High Performance Computing system (a Tier-1 in the European HPC ecosystem) and offers user and application support services, that provide Greek scientists with the computing infrastructure and expertise they need for their research enabling them to perform large scale simulations.

GRNET offers innovative IaaS cloud computing services to the Greek and global research & education communities: “ ~okeanos” and “okeanos global” allow users to create multi-layer virtual infrastructure and instantiate virtual computing machines, local networks to interconnect them, and a reliable storage space within seconds, with few, simple mouse clicks.

GRNET aims at contributing towards Greece’s Digital Convergence with the EU, by supporting the development and encouraging the use of e-Infrastructures and services. The right and timely planning strategies, together with the long experience and know-how of its people, guarantee the continuation and enhancement of GRNET’s successful course.

Greek Research and Technology Network – Networking Reserach and Education:,

    • 10:30 AM 11:00 AM
      Introduction to PRACE
      Convener: Dr Aris Soritopoulos (GRNET)
    • 11:00 AM 12:00 PM
      Training System Introduction
      Convener: Dr Dimitris Dellis
    • 12:00 PM 12:30 PM
      Break 30m
    • 12:30 PM 1:00 PM
      General Parallel Programming concepts

      General concepts
      - Parallel algorithms
      - Parallel programming
      - Programming models
      - System architecture
      - Synchronization

      Convener: Dr Ioannis Venetis
    • 1:00 PM 1:30 PM
      Convener: Dr Ioannis Venetis
    • 1:30 PM 2:30 PM
      Break 1h
    • 2:30 PM 3:30 PM
      • Fork & Join model
      • Compiler directives
      • Parallel regions
      • Data scope
      • Worksharing
      • master and synchronization constructs
      • Environment variables and Runtime library routines.
      Convener: Dr Ioannis Venetis
    • 3:30 PM 5:00 PM
    • 10:30 AM 12:00 PM
      Introduction to MPI
      • point-to-point and collective communications
      • non-blocking communications
      • communicators and virtual topologies
      Convener: Dr Ioannis Venetis
    • 12:00 PM 12:30 PM
      Break 30m
    • 12:30 PM 1:30 PM
      Hybrid MPI + OpenMP
      Conveners: Dr Dimitris Dellis, Dr Ioannis Venetis
      • 12:30 PM
        Break 30m
    • 1:30 PM 2:30 PM
      Break 1h
    • 2:30 PM 5:00 PM
    • 10:30 AM 11:30 AM
      Compilers and Debuggers
      Convener: Mr Nikos Nikoloutsakos
    • 11:30 AM 12:00 PM
      Break 30m
    • 12:00 PM 1:30 PM
      Profiling and Optimizations
      Convener: Dr Dimitris Dellis
    • 1:30 PM 2:30 PM
      Break 1h
    • 2:30 PM 5:00 PM
      Hands-On, discussion