create new tag
view all tags


Intensive Computation - Calcolo Intensivo

Annalisa Massini

Office Hours: appointment by email

  • Last two lectures will be:
    • Monday 18 May 2020 - Performance evaluation
    • Thursday 27 May 2020 - Final discussion on Homeworks - Students will present their solutions of homework 3, 4 and 5.

  • Monday's lectures will start at 10:15.

  • 22 March 2020 I created a personal folder for each student for delivering homeworks, in the Google Drive folder of Classroom. Each folder has the name of the student and is shared only with the teacher.

  • From Monday 9 March, lessons will be delivered in real-time using platform Google Meet, according to the official class schedule.

Aim of the course

The aim of the course is to provide students with methodologies for the solution of problems requiring intensive computation, in particular scientific problems.

Topics covered in this course include:

  • Introduction to Matlab
  • Concepts and methods: sparse matrices, eigenvalues and eigenvectors, linear algebras methods, etc.
  • Errors and simulations
  • Problems like Molecular Dynamics, Graph connectivity, Global search algorithms, etc.
  • Advanced topics on architectures and arithmetic operations
  • Introduction to GPU architecture and programming
  • Performance measures

Lectures 2019-2020

Lecture 1, February 24th, 2020 Introduction to the course - Lecture 1 - Introduction

Lecture 2, February 26th, 2020 Introduction to Matlab - Part 1 - Lecture 2 - Matlab
Laboratory, February 26th, 2020 Laboratory: Introductory exercises - Part 1

Lecture 3, March 2ndth, 2020 Introduction to Matlab - Part 2 - Lecture 3 - Matlab
Laboratory, March 2ndth, 2020 Laboratory: Introductory exercises - Part 2

Lecture 4, March 4th, 2020 Sparse matrices: definitions and motivation of compact formats. Compact storage methods for sparse matrix: Coordinate, Skyline, Compact Sparse Row CSR, Compact Sparse Column CSC, Modified Sparse Row MSR. Lecture 4 - Sparse Matrices - Slides 1-44

  • Appendix of book Solving Numerical PDEs: Problems, Applications, Exercises - Formaggia, Saleri, Veneziani - 2012 - read pp. 395-409

Lecture 5, March 9th, 2020 Compact storage methods for sparse matrix: Block Sparse Row, , Diagonal, Ellpack-Itpack. Lecture 5 - Sparse Matrices - Slides 45-62

Lecture 6, March 11th, 2020 Lecture by Dr. Viviana Arrigoni. Linear systems. Gaussian elimination for solving systems of linear equations. Pivoting. Methods to avoid pivoting. Random Butterfly Transformations and Transpose methods Lecture 6 - Linear Systems Part 1

Lecture 7, March 16th, 2020 Lecture by Dr. Viviana Arrigoni. Linear systems. Cholesky factorization. Jacobi iterative method. Gauss-Seidel iterative method. Lecture 7 - Linear Systems Part 2

Lecture 8, March 18th, 2020 Errors: Computational errors, Data errors, Truncation errors, Rounding errors. Forward error and backward error. Sensitivity and condition number. Stability and accuracy. Errors in floating-point representation. Lecture 8 - Errors - Slides 1-55

Lecture 9, March 23th, 2020 Errors in floating point arithmetic. Uncertainty in measurements. Lecture 9 - Errors - Slides 56-84
Laboratory Discussion on Homework 1: solutions of students.

Lecture 10, March 25th, 2020 Eigenvalues and eigenvectors. The Power method. The Deflation methods. Lecture 10 - Eigenvalues, Eigenvectors - Slides 1-30

Lecture 11, March 30th, 2020 Applications: Gould Index - Eigenvector Centrality in a Graph; the Fiedler Eigenvector and the Graph Partitioning; the Steady State of a Markov Chain using Eigenvalues and Eigenvectors. Lecture 11 - Eigenvalues, Eigenvectors - Slides 31-59
Exercises on sparse matrices and errors: Exercise 1 and Exercise 3 from Midterm test 17 April 2019, Exercise 1 from Endterm test 31 May 2016.

Lecture 12, April 1st, 2020 _Jacobi and Gauss-Seidel methods and Cholesky factorization - Exercise 2 and 3 from Midterm test 18 April 2018, Power method Exercise 5 from Exam test 15 July 2019. Illustration of exercises of Homework 3:

Lecture 13, April 6th, 2020 Motivation to parallel architectures. Summary of conventional computer architecture (Von Neumann's architecture). Lecture 13 - Motivation to parallel architectures and summary on computer architectures

Lecture 14, April 8th, 2020 Instruction pipelining. Pipeline hazards. (Hennessy, Patterson - Appendix C, Sections C1, C2) Lecture 14 - Instruction Pipelining

Lecture 15, April 15th, 2020 Discussion on Homework 2 and questions on Homework 3.

Lecture 16, April 20th, 2020 Circuits for arithmetic operations. Pipeline of arithmetic operations. Circuit evaluation: delay and area. Lecture 16 - Computer arithmetic
Exercises on instruction pipeline. Text of exercises on instruction pipeline
Exercise on circuit evaluation. Text of exercises on circuit evaluation

Lecture 17, April 22nd, 2020 Representations for Fast Arithmetic. Redundant number representations for carry-free addition. Modified Signed Digit (MSB) and Redundant Binary. Residue number system. Lecture 17 - Representations for Fast Arithmetic

Lecture 18, April 27th, 2020 Classifications of (parallel) architectures. Lecture 18 - Part 1 - Architecture Classification SIMD class: vector architecture Lecture 18 - Part 2 - Vector Architectures

Lecture 19, April 29th, 2020 Graphics Processing Units. Lecture 19 - GPU - Slides 1-60 (Hennessy, Patterson - Chapter 4, Sect. 4.2; Kirk, Hwu - Chapter 3, 4, 5; Barlas - Chapter 6)

Lecture 20, May 4th, 2020 Graphics Processing Units - Continued. Lecture 20 - GPU - Slides 61-102 Exercises on GPUs. Text of exercises on GPU

Lecture 21, May 6th, 2020 Exercises on GPUs and number representations. Text of exercises - from Exam test 18 June2019.pdf Interconnection networks. Lecture 21 - Interconnection networks - Slides 1- 25

Lecture 22, May 11th, 2020 Interconnection networks. Lecture 22 - Interconnection networks - Slides 26 - 71 Exercises on Interconnection networks. Text and solution of exercises on interconnection networks

Lecture 23, May 13th, 2020 Interconnection networks: Equivalence of log N stage and (log N -1) MINs; all-to-all personalized communication on MINs - Lecture 23 - Interconnection networks - Slides 72 - 90 Paper on equivalence of MINs Paper on all-to-all personalized communication on MINs

Lecture 24, May 18th, 2020 Performance evaluation of computer architectures. Amdahl law. Performance equation. Lecture 24 Performance

Lecture 25, May 27th, 2020 Discussion on Homeworks.

Some papers proposed for past exam projects - Articoli proposti per esami passati

Past year lectures


The exam consists of two parts:

  • Written exam. Students attending the lessons can take a mid-term exam and a final exam (or a whole exam). Mid-term and final exam (or whole exam) consist in a written test and exercises.
  • One of the following, at the choice of the student: oral exam/presentation of one-two papers/project.

There will also be homework assignments. Homeworks will contribute to the final grade.

Text of exams


Textbooks - Testi di riferimento

  • Introduction to High-Performance Scientific Computing, Lloyd D. Fosdick, Elizabeth R. Jessup, Carolyn J. C. Schauble and Gitta Domik, The MIT Press, 1996, ISBN 0-262-06181-3
  • Programming Massively Parallel Processors: A Hands-on Approach, David B. Kirk and Wen-mei W. Hwu, Morgan Kaufmann, 2010
  • Introduction to scientific computing: A Matrix-Vector Approach Using MATLAB, Charles F. Van Loan, Prentice Hall , 1997
  • Manuale di MATLAB. Consultare il sito: http://www.mathworks.com/help/techdoc/learn_matlab/bqr_2pl.html
  • Matlab. Concetti e progetti, Giovanni Naldi e Lorenzo Pareschi, Apogeo, 2007
  • Calcolo Scientifico: Esercizi e Problemi Risolti Con MATLAB e Octave, Alfio Quarteroni, Fausto Saleri, 2008


-- AnnalisaMassini

Edit | Attach | Watch | Print version | History: r272 < r271 < r270 < r269 < r268 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r272 - 2020-05-18 - AnnalisaMassini

Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback