Master of science-level of the Bologna process in Quantum Engineering - Torino Master of science-level of the Bologna process in Ingegneria Matematica - Torino
The High Performance Computing (HPC) course is a mandatory course belonging to the Master Degree in Quantum Engineering, and it is taught in the second semester of the first year, and it is taught in English.
The main goal of the course is to provide the students with a base knowledge of the traditional microprocessors, emphasizing the concepts related to multicore systems and High Performance Computing.
During the course, the foundation concepts about HPC, and some of the most popular techniques for programming and use HPC are developed.
The High Performance Computing (HPC) course is a mandatory course belonging to the Master Degree in Quantum Engineering, and it is taught in the second semester of the first year, and it is taught in English.
The main goal of the course is to provide the students with a base knowledge of the microprocessor cores, emphasizing the concepts related to multicore systems and High Performance Computing.
During the course, the foundation concepts about HPC, and some of the most popular techniques for programming and use HPC are developed.
- Knowledge in computer architecture concepts
- Knowledge in multiprocessor systems
- Knowledge of the main elements composing a High Performance Computing system
- Parallel computing development and programming skills
- MPI development and programming skills.
- Knowledge in hardware accelerators
- Knowledge in computer architecture concepts
- Knowledge in multiprocessor systems
- Knowledge of the main elements composing a High Performance Computing system
- Parallel computing development and programming skills
- MPI, OpenMP and CUDA development and programming skills.
- Basic knowledge in hardware accelerators.
- Basic knowledge in computer sciences
- Basic knowledge in Python programming and high level programming languages
- Basic knowledge in computer sciences
- Basic knowledge in C programming and high level programming languages
- Introduction to microprocessor architecture
- Introduction to multiprocessor systems architecture
- Foundation concepts and perspectives about High Performance Computing
- Techniques for using and programming HPC
- Parallel computation
- Message Passing Interfaces (MPI)
- Hardware accelerators, graphic processing units (GPU)
- Laboratory sessions and examples are provided for the different topics
- Introduction to microprocessor architecture
- Introduction to multiprocessor systems architecture
- Foundation concepts and perspectives on High Performance Computing
- Techniques for using and programming HPC
- Parallel computation
- Shared-memory and distributed memory programming paradigms. OpenMP and MPI.
- Hardware accelerators, graphic processing units (GPU)
- Laboratory sessions and examples are provided for the different topics
Additional material is provided by the lecturers in the form of course slides, practical examples and laboratory exercises.
- Class lectures: 50% of the course duration;
- Extensive Class exercise time: 30% of the course duration;
- Assisted laboratories: 20% of the course duration.
Students are highly invited to interact with Lecturers, at lecture, exercise, and laboratory slots.
- Class lectures: 50% of the course duration;
- Extensive Class exercise time: 30% of the course duration;
- Assisted laboratories: 20% of the course duration.
Students are highly invited to interact with Lecturers, at lecture, exercise, and laboratory slots.
- J.L. Hennessy, D.A. Patterson, Computer Architecture: a Quantitative Approach, Morgan Kaufmann Publishers, Inc., VI Edition, 2017
- Thomas Sterling, Maciej Brodowicz, Matthew Anderson, High Performance Computing: Modern Systems and Practices, Morgan Kaufmann Publishers, Inc., 1st Edition - December 5, 2017
Optional additional material provided by the professors.
- J.L. Hennessy, D.A. Patterson, Computer Architecture: a Quantitative Approach, Morgan Kaufmann Publishers, Inc., VI Edition, 2017
- Thomas Sterling, Maciej Brodowicz, Matthew Anderson, High Performance Computing: Modern Systems and Practices, Morgan Kaufmann Publishers, Inc., 1st Edition - December 5, 2017
Optional additional material is provided by the professors, in the form of slides, and examples.
Dispense; Libro di testo;
Lecture notes; Text book;
Modalita di esame: Prova scritta (in aula); Elaborato progettuale in gruppo;
Exam: Written test; Group project;
...
The examination is composed of two parts, a written part and an assignment.
Written examination:
The written exam is composed of questions and exercises on the course content. It lasts for 1h. The maximum score for this part is 30/30. A sufficient mark is >= 18.
Assignment
Students will be asked to deliver a group assignment (2 persons per group) to be developed at the end of the semester.
The maximum score for this part is 30/30. A sufficient mark is >= 18.
The final grade is the arithmetic mean of the two parts, provided that both of them are sufficient (>=18)
An optional oral examination can be asked to the teacher, in order to improve the mark and reach the 30 cum laude.
Gli studenti e le studentesse con disabilita o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unita Special Needs, al fine di permettere al/la docente la declinazione piu idonea in riferimento alla specifica tipologia di esame.
Exam: Written test; Group project;
The final examination assesses the acquisition of the expected knowledge and skills through a written and a development part. In order to verify the achievement of the learning objectives, and thus the acquisition of knowledge, understanding, and the ability to apply them in the form of a set solutions to given problems solved through parallel algorithms running in a generic cluster.
The examination is composed of two parts, a written part and an assignment.
Written examination:
The first part, a written part, aims at verifying the acquisition of the fundamentals of computer architecture concepts, and basic programming knowledge in multiprocessor systems. This examination part focuses on the theory and exercises covered during the course lectures and laboratories and consists of three questions, to be answered without the aid of notes or textbooks, with a duration of 1h.
The maximum score for this part is 30/30. A sufficient mark is >= 18.
Assignment
The second part aims at assessing the level of learning in solving problems through parallel programs developed using the three approaches covered in the course: OpenMP, MPI, and CUDA.
For this development activity, students are required to:
- Submit a group assignment (preferably in groups of three students) to be completed by the end of the semester.
- Deliver an assignment consisting of the developed code for each required experiment, a presentation, and a final report summarizing the implemented solutions.
- Develop each experiment on the cluster, where performance metrics may also be presented and discussed.
- Give an oral presentation of the work.
The maximum score for this part is 30/30. A sufficient mark is ≥ 18.
Assignments will be presented at the end of the course and will remain valid for the entire academic year.
Assignment deadlines will be defined in agreement with the students, taking into account the examination dates scheduled for each semester.
The final grade is the arithmetic mean of the two parts, provided that both of them are sufficient (>=18)
An optional oral examination can be asked to the teacher, in order to improve the mark and reach the 30 cum laude.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.