ARCHITECTURES AND MODELS FOR NUMERICAL METHODS

iten
Code
98217
ACADEMIC YEAR
2021/2022
CREDITS
5 credits during the 2nd year of 10728 ENGINEERING TECHNOLOGY FOR STRATEGY (AND SECURITY) (LM/DS) GENOVA
SCIENTIFIC DISCIPLINARY SECTOR
ING-INF/01
LANGUAGE
English
TEACHING LOCATION
GENOVA (ENGINEERING TECHNOLOGY FOR STRATEGY (AND SECURITY))
semester
1° Semester
modules
Teaching materials

AIMS AND CONTENT

LEARNING OUTCOMES

The course tackles the design and implementation of numerical algorithms for high performance computers in order to let students have a practical experience of the subject. In this framework, advanced architectures, parallel numerical algorithms, and their application to scientific and engineering problems are considered.

AIMS AND LEARNING OUTCOMES

The course aims to show computational models and computer architectures to let students understand their issues and deal with the implementation of numerical algorithms onto high performance computers. A wide range of topics is addressed,  from advanced architectures, parallel numerical algorithms, and their application to scientific and engineering problems.

TEACHING METHODS

Lectures integrated by tutorials.

Many algorithm examples in Python are provided and discussed during the lessons.

SYLLABUS/CONTENT

  1. Review of basic computer architecture concepts: examples, hardware, architectural and and software levels, processors, basic system architecture, Von Neumann machines, CISC and RISC machines, digital signal processors (DSP), memory. Layered structure of a computer: from hardware to software. Design and architectural aspects. GPU architectures.
  2. Parallel Computing: parallel and distributed computers, multiprocessor architecture, shared-memory and message-passing architectures, interconnection networks, interprocessor communication, performance analysis. Parallel computer memory architectures. Communication complexity.
  3. Parallel thinking: parallel algorithm design, parallel programming models, parallel performance. Introduction to parallel and concurrent programming with python.
  4. Numerical models and algorithms:
    • Parallel algorithm examples: finding paralleism by a conceptual example, prime numbers algorithm, Montecarlo Pi estimator, array processing, simple heat equation.
    • Introducion to Machine Learning algorithms. Random Forest algorithm.

RECOMMENDED READING/BIBLIOGRAPHY

  • Kaminsky, A., BIG CPU, BID DATASolving the World's Toughest Problems with Parallel Computing, CreateSpace Independent Publishing Platform; 1 edition (30 July 2016)
  • Benmammar, B. (2017), Concurrent, Real-Time and Distributed Programming in Java. Newark: John Wiley & Sons, Incorporated.
  • Zaccone, G. (2019), Python Parallel Programming Cookbook, 2nd edition, Packt Publishing. Birmingham, UK.
  • Lecture notes/slides provided by the teacher

TEACHERS AND EXAM BOARD

Office hours: By appointment after direct contact with the teacher.

LESSONS

TEACHING METHODS

Lectures integrated by tutorials.

Many algorithm examples in Python are provided and discussed during the lessons.

Class schedule

All class schedules are posted on the EasyAcademy portal.

EXAMS

EXAM DESCRIPTION

Oral examination.

ASSESSMENT METHODS

The oral examination will address the mapping of parallel algorithms into parallel architectures for supporting numerical methods. In particular, at the beginning of the exam, each student will have the possibility to present the implementation of an algorithm of his choice into a specific concurrent and distributed architecture, pointing out key points and issues.

Exam schedule

Date Time Location Type Notes
14/01/2022 10:00 GENOVA Esame su appuntamento
14/01/2022 10:00 GENOVA Orale
11/02/2022 10:00 GENOVA Esame su appuntamento
11/02/2022 10:00 GENOVA Orale
22/07/2022 10:00 GENOVA Esame su appuntamento
22/07/2022 10:00 GENOVA Orale
26/08/2022 10:00 GENOVA Esame su appuntamento
26/08/2022 10:00 GENOVA Orale
09/09/2022 10:00 GENOVA Esame su appuntamento
09/09/2022 10:00 GENOVA Orale