Introduction to Parallel Programming
19 December 2017
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. The course ends with a section presenting profiling and code optimisations to understand the behavior and performance of parallelized codes.
The 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 or OpenMP.
Prerequisites
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.
Registration
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.
Venue
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.
About GRNET
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: