logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2019/2020
Tipo incarico Dottorato
Insegnamento 055048 - PARALLEL COMPUTING ON TRADITIONAL (CORE-BASED) AND EMERGING GPU-BASED) ARCHITECTURES THROUGH OPENMP AND OPENACC / OPENCL
Docente Breveglieri Luca Oddone
Cfu 5.00 Tipo insegnamento Monodisciplinare

Corso di Dottorato Da (compreso) A (escluso) Insegnamento
MI (1380) - INGEGNERIA DELL'INFORMAZIONE / INFORMATION TECHNOLOGYAZZZZ055211 - PARALLEL COMPUTING ON TRADITIONAL (CORE-BASED) AND EMERGING GPU-BASED) ARCHITECTURES THROUGH OPENMP AND OPENACC / OPENCL
055048 - PARALLEL COMPUTING ON TRADITIONAL (CORE-BASED) AND EMERGING GPU-BASED) ARCHITECTURES THROUGH OPENMP AND OPENACC / OPENCL

Programma dettagliato e risultati di apprendimento attesi

Mission and Goals

The course is dedicated to the techniques for high performance computing. It is aimed at experienced programmers (in some kind of sequential programming language), who wish to be introduced to the problems and solutions of parallel programming, or wish to optimize their applications on a parallel system. The spectrum of systems considered ranges from the traditional core-based systems to the emerging GPU-based ones. Effective techniques for developing and optimizing programs for parallel scientific and technical computing are presented, along with interesting sample applications and development proposals, thus following a “hands-on” teaching style. The course is cross-disciplinary.

Prerequisites

The course is offered specifically to PhD students and is restricted only to them. It is designed for their competences and expectations. It can be reasonably elected by PhD students in any engineering PhD program, who already have a basic knowledge of a sequential, i.e., non-parallel, programming language, like C, C++, Matlab or others. The course is thought of as a PhD-dedicated alternative to attending a generic CINECA course (open to anybody).

Lecture and Practice Programme

  1. parallel hardware architectures (core-based and GPU-based) and related programming techniques
  2. common software tools and libraries for developing parallel scientific applications:
    1. OpenMP (core-based) – structure and application
    2. OpenACC (mixed core-GPU) – structure and application
    3. OpenCL (GPU-based) – structure and application
  3. hints to other specialized parallel scientific SW libraries, e.g., MPI
  4. winning strategies for programming parallel applications

Teaching Objectives

The participants without any specific knowledge or skill in parallel programming will be introduced to the principles of parallelism, on different supercomputing architectures, and will acquire some basic programming skills, which can quickly make them operational. Those who have some previous knowledge will improve and generalize them. The course is specifically oriented to the researchers who need an introduction to parallel programming, to evaluate its potentialities for their research activities, and who may wish to later proceed with more advanced courses.


Note Sulla Modalità di valutazione

The course participants are invited to develop a final application on selected themes (individual or a group of max two people). CINECA supercomputing facitilies are made available, upon request, for developing the exam application.


Intervallo di svolgimento dell'attività didattica
Data inizio
Data termine

Calendario testuale dell'attività didattica
The course is proposed as a full-time course in 5 days / 5 hours per day, in total 25 hours. It will be held remotely through MS Teams. Course schedule: Day Date - Part 1 (9:30-10:45 ; 11.00-12.15) - Part 2 (14:00-15:15 ; 15:45-17:00) - Teacher 1 08/06/2020 - Parallel hardware architectures (core-based and GPU-based) and related programming techniques - OpenMP (core-based) - M.Cremonesi 2 09/06/2020 - OpenACC (mixed core-GPU) structure and application (new) - Exercises - F.Affinito 3 10/06/2020 - OpenCL (GPU-based) structure and application (new) - Exercises - M.Cremonesi 4 11/06/2020 - Introduction to MPI (core based) - Exercises - M.Cremonesi 5 12/06/2020 - Winning strategies - Exercises - M.Cremonesi

Bibliografia

Mix Forme Didattiche
Tipo Forma Didattica Ore didattiche
lezione
25.0
esercitazione
0.0
laboratorio informatico
0.0
laboratorio sperimentale
0.0
progetto
0.0
laboratorio di progetto
0.0

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Inglese

Note Docente
Course schedule: Day Date - Part 1 (9:30-10:45 ; 11.00-12.15) - Part 2 (14:00-15:15 ; 15:45-17:00) - Teacher 1 08/06/2020 - Parallel hardware architectures (core-based and GPU-based) and related programming techniques - OpenMP (core-based) - M.Cremonesi 2 09/06/2020 - OpenACC (mixed core-GPU) structure and application (new) - Exercises - F.Affinito 3 10/06/2020 - OpenCL (GPU-based) structure and application (new) - Exercises - M.Cremonesi 4 11/06/2020 - Introduction to MPI (core based) - Exercises - M.Cremonesi 5 12/06/2020 - Winning strategies - Exercises - M.Cremonesi
schedaincarico v. 1.6.5 / 1.6.5
Area Servizi ICT
24/01/2021