SM/0137 - HPC PER PROBLEMI DI GRANDE SCALA
Academic Year 2019/2020
Free text for the University
ERNESTO BONOMI (Tit.)
- Teaching style
- Lingua Insegnamento
|[60/65] MATHEMATICS||[65/20 - Ord. 2012] Applicativo||6||48|
1. Knowledge and understanding.
The course, addressed to students in the second year of the Master's degree course in Mathematics, aims at enabling students to independently formulate and explore mathematical and implementation solutions for the production of results on large state-of-the-art computing infrastructures
2. Ability to apply knowledge and understanding.
The student will learn the basics of designing a numerical application, ranging from mathematical modeling, programming and computer system. Emphasis will be placed on the organization of the computational complexity of the studied problem, through test cases calibrated on previously acquired skills.
3. Autonomy of judgement.
The course provides students with the necessary skills to identify and apply numerical methodologies to the resolution of large-scale mathematical and physical problems.
4. Communication skills.
The course will illustrate the development of a project starting from the reading of scientific articles, whose contents must be implemented, put into production, documented and exposed, so as to enhance, in addition to competencies, the communication skills of students.
5. Learning ability.
The course provides students with an interdisciplinary preparation, which weaves tools of mathematical physics, algorithms and computer science, preparatory to the study and understanding of numerical applications on a large scale.
Students will need to be able to apply the methodologies learned during the Bachelor program and the first year of the Master's degree program. In particular, it is preferable to have a competence base on numerical approximation methods, solvers and programming of algorithms in C and/or Matlab. In order to follow the course successfully, it is essential to be able to understand a mathematical model in depth and to describe an algorithm for its resolution effectively.
1. Description of the physical problem and identification of the associated mathematical model whose formalization will be analyzed in an effort to identify a numerical approach to solving the problem.
2. Identification of the concurrent phases of the numerical scheme and the consequent data movement.
3. For each computational block along the data flow, identification of an algorithm and the possible second level of concurrency.
4. Implementation of the application on a single node, design of the software infrastructure for the orchestration of the computation and the data flow on multiple nodes, and deployment on a cluster.
Frontal lessons with statements, demonstrations and examples on the blackboard. Unfrequent use of the projector.
Verification of learning
The final examination will consist in the realization of a project involving the analysis of a mathematical model, its numerical approximation and its HPC implementation. The objective is to enable the student to formulate and explore autonomously mathematical and implementation solutions. The result of the work will be summarized in a report that will be presented in written and oral form to the examination board, which will assess the effectiveness of the work.
In the evaluation of the work, importance will be given to the correctness and originality of the solution, as well as to the ability to communicate the results achieved.
- J. W. Cooley and J. W. Tukey, An Algorithm for the Machine Calculation of Complex Fourier Series, Mathematics of Computation, Vol. 19, No. 90, 1965
- V. Voïevoidine, Algèbre Linéaire, Editions MIR, Moscou, 1976
- E. Bonomi and J-L. Lutton, The N-City Travelling Salesman Problem: Statistical Mechanics and the Metropolis Algorithm, SIAM Review, Vol. 26, No. 4, 1984
- P. Lascaux et R. Théodor, Analyse Numérique Matricielle Appliquée à l'Art de l'Ingénieur (Tome 1), Masson, Paris, 1986
- C. T. Kelley, Iterative Methods for Linear and Nonlinear Equations, SIAM, 1995
- D. Bertsekas and J. N. Tsitsiklis, Parallel and Distributed Computation, Prentice Hall, 1989
- B. Barney, Introduction to Parallel Computing, Lawrence Livermore National Laboratory
- D. Batenkov, Fast Fourier Transform, Weizmann Institute of Science, Seminar, 2005
- D. Barbieri, A. Fanfarillo, V Cardellini and S. Filippone, Three Storage Formats for Sparse Matrices on GPGPUs, Università di Roma Tor Vergata, Technical Report, 2015
During the Bachelor's degree and in the first year of the Master's degree, students of mathematics acquire theoretical and operational knowledge on methods of numerical analysis and modeling. This background, together with the possession of the basics of computational science, allows to carry out analyses and simulations of high relevance today for applied sciences, engineering and industry. The applications of real interest in these fields are described by complex models, corresponding on a computational level to large scale problems that require the use of the so-called HPC (High Performance Computing). This teaching, together with the complementary course of Numerical methods optimized for applied sciences - given in the first four months of the academic year-, will enable participants to frame the mathematical model relating to an application problem, identify the sequence of operations required and propose a solution approach.
For more detailed information on the course, please refer to the following link.
Our University provides support for students with specific learning disability (SLD). Those interested can find more informations at following link in Italian.