create new tag
view all tags


Intensive Computation - Calcolo Intensivo

Annalisa Massini

Office Hours: appointment by email

  • Next test is posponed to 24 July at 14:00, teacher office.

  • Grades of 14 June test: 14 June grades
  • End-of-term test grade are available: end-of-term grades
  • Next tests will be held on:
    • 14 June 2018 in Aula Alfa at 10:30 am
    • 16 July 2018 in Aula Seminari at 10:30 am
  • Students are required to register for the exam on Infostud,

Homeworks deadline

  • Homework 4 on 25th may
  • Homework 3 on 11th may
  • Homework 2 on 11th april
  • Homework 1 on 4th april

  • Homeworks upload Students may upload their homeworks dropping the files in the folder with their name that I create on Google Drive after receiving the email address (I wait for an (empty) email from each student)

Common material

  • I created a common folder on Google Drive where you can put material useful for everyone.
  • At the moment, there are two test matrices you can use for the exercises on network tomography. The file name specifies the maximum identifiable value and the nodes that have that value.

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 and to GPU architecture and programming
  • concepts and methods: sparse matrices, eigenvalues and eigenvectors, linear algebras methods, etc.
  • problems like Molecular Dynamics, Graph connectivity, Global search algorithms, etc.
  • discussion on architectures, arithmetic operations, introduction to GPU architecture and programming
  • errors and simulations.

Lectures 2017-2018

Lecture 1, February 28th, 2018 Introduction to the course Lecture 1 - Introduction
Lecture 2, March 2nd, 2018 Introduction to Matlab - Part 1 - Lecture 2 and 3 - Matlab - Laboratory March 2nd, 2018 Laboratory: Introductory exercises - Part 1
Lecture 3, March 7th, 2018 Introduction to Matlab - Part 2 - Lecture 2 and 3 - Matlab - Laboratory March 7th, 2018 Laboratory: Introductory exercises - Part 2
Lecture 4, March 9th, 2018 Compact storage methods for sparse matrix: Coordinate, Compact Sparse Row CSR, Compact Sparse Column CSC and Modified Sparse Row MSR, Block Sparse Row, Skyline, Diagonal, Ellpack-Itpack. Lecture 4 - Sparse Matrices
  • Appendix of book Solving Numerical PDEs: Problems, Applications, Exercises - Formaggia, Saleri, Veneziani - 2012 - read pp. 395-409
Lecture 5, March 14th, 2018 Lecture by Prof. Novella Bartolini. Introduction to boolean tomography of networks. Project proposals. Lecture 5 - Boolean Tomography & Project proposals - Prof. Bartolini
Lecture 6, March 16th, 2018 Discussion on exercises of Homework 1 and laboratory Homework 1 - Sparse Matrices - 2018 - Homework 1 - Boolean Tomography
Lecture 7, March 21st, 2018 Lecture by Dr. Viviana Arrigoni. Linear systems. Gaussian elimination for solving systems of linear equations. Pivoting. Methods to avoid pivoting. Lecture 7 - Linear Systems Part 1
Lecture 8, March 23rd, 2018 Lecture by Dr. Viviana Arrigoni. Linear systems. Cholesky factorization. Jacobi iterative method. Gauss-Seidel iterative method. Lecture 8 - Linear Systems Part 2
Lecture 9, March 28th, 2018 Discussion on exercises of Homework 2 and laboratory 2018 - Homework 2- Linear Systems: Direct and Iterative Methods
Lecture 10, April 4th, 2018 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 by using Eigenvalues and Eigenvectors. Lecture 10 - Eigenvalues, Eigenvectors and Applications
Lecture 11, April 6th, 2018 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 arithmetic. Lecture 11 - Errors
Lecture 12, April 11th, 2018 Laboratory Homework3 - Eigenvalues and Eigenvectors
Lecture 13, April 13th, 2018 Exercises.
April 18th, 2018 _Midterm test
Lecture April 20th, 2018 _Lecture cancelled (due to illness)
Lecture 14, April 27th, 2018 Molecular Dynamics: Introduction, Hooke's Law Model, Lennard-Jones Model, Motion Equations. Molecular Dynamics - L. Fosdick.
Lecture 15, May 2nd, 2018 Molecular Dynamics: Euler's method and Verlet's method for Hooke's Law Model and Lennard-Jones Model. Hard Sphere Model. Molecular Dynamics - L. Fosdick.
Lecture 16, May 4th, 2018 Molecular Dynamics: Hard Sphere Model. Exact solution for Hooke's Law Model. Molecular Dynamics - L. Fosdick.
Lecture 17, May 9th, 2018 Laboratory Homework 4 - Exercises on Molecular Dynamics
Lecture 18, May 11th, 2018 Classifications of (parallel) architectures. 2018-Lecture18-ArchitectureClassification.pdf SIMD class: vector architecture. 2018-Lecture18-VectorArchitectures.pdf
Lecture 19, May 16th, 2018 Graphics Processing Units. Lecture 19 - GPUs (Hennessy, Patterson - Chapter 4, Sect. 4.2; Kirk, Hwu - Chapter 3, 4, 5; Barlas - Chapter 6)
Lecture 20, May 18th, 2018 Interconnection networks. Lecture 20 - Interconnection Networks
Lecture 21, May 23th, 2018 Exercises on GPU and Interconnection networks
Lecture 22, May 25th, 2018 Performance evaluation of computer architectures. Amdhal law. Performance equation. Lecture 22 - Performance
Circuits for arithmetic operations. Pipeline of arithmetic operations. Circuit evaluation: delay and area. Lecture 22 - Computer arithmetic
Lecture 23, May 30th, 2018 Redundant number representations for carry-free addition. Modified Signed Digit (MSB) and Redundant Binary. Lecture 23 - Redundant representations Residue number system. Lecture 23 - Residue representations
Lecture 24, June 1st, 2018 Exercises on Performance equation, Amdhal law, Redundant representations, Residue number systems. See past tests at link Advanced Parallel Architectures

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: r201 < r200 < r199 < r198 < r197 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r201 - 2018-07-14 - AnnalisaMassini

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