create new tag
view all tags


Intensive Computation - Calcolo Intensivo

Annalisa Massini

Office Hours: appointment by email

  • The first meeting of the Intensive Computation course will be on Wednesday, 24 February 2021
  • For in-person attendance, you should book an attendance spot through Prodigit, filling the form at the link: https://prodigit.uniroma1.it/
  • To get information on the lessons in streaming, access the course material and receive notices, you must register on Classroom for the w5ftylh course using your Sapienza email address (surname.matricola@studentiNOSPAM.uniroma1.it).

  • Lessons are scheduled for:
    • Wednesday (11:00 am - 13.00 am)
    • Friday (10:00 am - 13.00 am)
    • in Room G0, Palazzina G (Building G) Regina Elena

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 2020-2021

Lecture 1, February 24th, 2021 Introduction to the course. Lecture 1 - Introduction

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

Lecture 3, March 3rd, 2021 Introduction to Matlab - Part 2 - Lecture 3 - Matlab
Laboratory, March 3rd, 2021 Laboratory: Introductory exercises - Part 2

Lecture 4, March 5th, 2021 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 - SparseMatrices.pdf

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

Lecture 5, March 10th, 2021 Exercises on Sparse matrices.

Lecture 6, March 12th, 2021 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 7 - Linear Systems Part 1

Lecture 7, March 17th, 2021 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 19th, 2021 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. Uncertainty in measurements. Lecture 8 - Errors
Exercises on linear systems: Exercise 3 from Midterm exam 18 April 2018 (to be continued).

Lecture 9, March 24th, 2021 Discussion on Homework 1: student's solutions. Exercises on linear systems and errors: Exercise 3 from Midterm exam 18 April 2018 (continued); Exercise 3 from Midterm exam 17 April 2019.

Lecture 10, March 26th, 2021 Eigenvalues and eigenvectors. The Power method. The Deflation methods. 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; covariance matrix and eigenvectors. Lecture 10 - Eigenvalues, Eigenvectors and applications

Lecture 11, March 31st, 2021 Molecular Dynamics: Introduction, Hooke's Law Model, Lennard-Jones Model, Motion Equations. Lecture11 - MolecularDynamicsMolecular Dynamics - L. Fosdick.

Lecture 12, April 7th, 2021 Molecular Dynamics: Euler's method and Verlet's method for Hooke's Law Model and Lennard-Jones Model. Solution of motion equations for the 1D Hard Sphere Model. Lecture12 - Molecular Dynamics Part 2 - slide 1-37 Exact solution for Hooke's Law Model. Molecular Dynamics - L. Fosdick.

Lecture 13, April 9th, 2021 Molecular dynamics: Solution of motion equations for the 1D Hard Sphere Model. Exact solution of motion equations for the Hooke's Law Model. Lecture12 - Molecular Dynamics Part 2 - slide 38-65
Discussion on Homework 2: student's solutions.

Midterm test - April 16th, 2021

Lecture 14, April 21st, 2021 Motivation to parallel architectures. Classifications of (parallel) architectures. Lecture14 - Motivations and classifications of parallel architectures

Lecture 15, April 23rd, 2021 Circuits for arithmetic operations. Pipeline of arithmetic operations. Circuit evaluation: delay and area. Lecture15 - Computer arithmetic

Lecture 16, April 28th, 2021 Representations for Fast Arithmetic. Redundant number representations for carry-free addition. Modified Signed Digit (MSB) and Redundant Binary. Lecture16 - Representations for Fast Arithmetic - Slides 1-31

Lecture 17, April 30th, 2021 Representations for Fast Arithmetic: Residue number system. Lecture17 - Representations for Fast Arithmetic - Slides 32-55

Lecture 18, May 5th, 2021 SIMD class: vector architecture. Lecture 18 - Vector Architectures

Lecture 19, May 7th, 2021 Graphics Processing Units. Matrix multiplication on GPUs. Lecture19 - GPUs

Lecture 20, May 12th, 2021 Interconnection networks. Lecture 20 - Interconnection networks - Slides 1 - 39

Lecture 21, May 14th, 2021 Interconnection networks: Equivalence of log N stage and (2log N -1) stage MINs; all-to-all personalized communication on log N stage and (2log N -1) stage MINs - Lecture 20 - Interconnection networks - Slides 40 - 102

Lecture 22, May 19th, 2021 Exercises on Interconnection networks and GPUs.

Lecture 23, May 21st, 2021 Performance evaluation of computer architectures. Amdahl law. Performance equation. Lesson 23 - Performance

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

  • Exams 2018/2019


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: r295 < r294 < r293 < r292 < r291 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r295 - 2021-06-11 - 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-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback