Intermediate-level Programming for HPC Using Python – Joint Training event from NCC Cyprus & NCC Greece

EuroCC-2 Conference Agenda
Date: Wednesday, 29 May 2024

Training Video

Description:
This event builds on the knowledge and competencies of the HPC Beginner Training Event and teaches more advanced aspects of HPC. The distributed memory paradigm will be introduced with examples to demonstrate the use of the Message Passing Interface (MPI) for parallel computations. In addition, an introduction to the package cppyy will be provided, demonstrating how C/C++ libraries can be seamlessly integrated into Python code. Finally, the seminar will cover Linear Algebra operations with CUDA for Python using CuPy, a high-level interface for cuBLAS. We will present a performance comparison with NumPy and benchmark applications on linear solvers and artificial neural networks.

Registration:
Registration for this event is open until Tuesday, May 28th, 2024. Registration form here.

Pre-requisites:
Attendees should be familiar with at least one programming language, such as C/C++, Fortran, or Python. Hands on exercises are part of the training and will be provided in Python.

Attendees should ideally have attended the EuroCC2 Training Event: “Introduction to Parallel Computing for Beginners” or other previous training events. In particular, attendees should be familiar with the Slurm scheduling system and how to submit and monitor job scripts within an HPC cluster environment.

If not, interested attendees are encouraged to follow the Beginner Training Event via the following link: https://eurocc.cyi.ac.cy/introduction-to-parallel-computing-for-beginners-training-event-2024/

Requirements:
Attendees should bring with them their own laptop to follow the hands-on practical. They should make sure the following software is available on their laptops: a) A web browser and PDF viewer and b) A command line interface or other client that supports ssh - e.g. Terminal, Putty for Windows, or Visual Studio Code with the “Visual Studio Code Remote - SSH” extension.

Agenda

10:00 - 11:45
Prof. Giannis Koutsou

Introduction to distributed memory parallel computing
Examples with mpi4py

Git Repository
Training Slides
11:45 - 12:00
Coffee break
12:00 - 13:00
Dr. Simone Bacchio

Using C/C++ libraries from Python with cppyy

Notebook Collab
Training Slides
13:00 - 14:00
Dr. Nikos Bakas

GPU - Accelerated Linear Algebra in Python

Google Collab Notebook