Salta al contenuto principale della pagina

ARCHITECTURES AND MODELS FOR NUMERICAL METHODS

CODE 98217
ACADEMIC YEAR 2020/2021
CREDITS
  • 5 cfu 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
  • SEMESTER 1° Semester
    MODULES This unit is a module of:
    TEACHING MATERIALS AULAWEB

    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

    SYLLABUS/CONTENT

    1. Review of basic computer architecture concepts: examples, software layers, processors, basic system architecture, Von Neumann machines, interrupts, CISC and RISC machines, digital signal processors (DSP), memory, DMA
    2. Parallel Computing: parallel and distributed computers, multiprocessor architecture, shared-memory and message-passing architectures, interconnection networks, interprocessor communication, performance analysis
    3. Parallel thinking: parallel algorithm design, parallel programming models, parallel performance. Introduction to parallel programming with python.
    4. Numerical models and algorithms:
      • Numerical simulation techniques
      • Intrroducion to Machine Learning algorithms. Random Forest algorithm.
      • Dense linear systems (vector and matrix products, LU factorization, triangular linear systems
      • Differential equations (ordinary and partial differential equations, numerical differentiation)
    5. Specialized architectures: Systolic arrays; CORDIC; GPU

    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

    Exam Board

    RICCARDO BERTA (President)

    ALESSANDRO DE GLORIA

    ERMANNO DI ZITTI (President Substitute)

    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
    15/01/2021 10:00 GENOVA Esame su appuntamento
    15/01/2021 10:00 GENOVA Orale
    12/02/2021 10:00 GENOVA Esame su appuntamento
    12/02/2021 10:00 GENOVA Orale
    23/07/2021 10:00 GENOVA Esame su appuntamento
    23/07/2021 10:00 GENOVA Orale
    27/08/2021 10:00 GENOVA Esame su appuntamento
    27/08/2021 10:00 GENOVA Orale
    10/09/2021 10:00 GENOVA Esame su appuntamento
    10/09/2021 10:00 GENOVA Orale