FACOLTÀ DI INGEGNERIA Corso Di Laurea In Ingegneria Industriale Classe L-9 Insegnamento di Analisi Numerica S.S.D MAT/08 9 C.F.U. A.A. 2014 2015 Docente: Prof. Salvatore Filippone e-mail: salvatore.filippone@unicusano.it nickname: filippone.salvatore Presentazione ed obiettivi del corso Il corso è organizzato su 12 settimane, e prevede una serie di materiali didattici comprensivi di presentazioni, esercizi ed esempi di esami svolti. Scopo del corso è di presentare le metodologie di base per la soluzione di problemi numerici su calcolatori digitali; tale conoscenza viene presentata con riferimento ai problemi più comuni provenienti dalle applicazioni ingegneristiche. Lo studente che superi l esame sarà in grado di affrontare la scelta di un metodo per la soluzione di un particolare problema e di discutere delle caratteristiche della soluzione ottenuta. Propedeuticità L esame prevede le propedeuticità di Analisi I e II; è consigliato inoltre di avere affrontato l esame di Geometria. Durante il corso vengono fornite le nozioni minime necessarie di programmazione dei calcolatori. Ricevimento studenti Consultare il calendario alla pagina seguente del nostro sito verificando gli orari di Videoconferenza http://www.unicusano.it/calendario-lezioni-in-presenza/ calendario-area-ingegneristica Orario delle lezioni Consultare il calendario alla pagina seguente del nostro sito verificando gli orari di Lezione http://www.unicusano.it/calendario-lezioni-in-presenza/ calendario-area-ingegneristica Date degli appelli Consultare il calendario alla pagina http://www.unicusano.it/date-appelli/ appelli-ingegneria per gli appelli nella sede di Roma, e alla pagina http:// www.unicusano.it/date-appelli/appelli-sedi-esterne per gli appelli nelle sedi esterne.
Programma del corso Introduzione al corso (Modulo 1, settimana 1) La modellazione dei fenomeni fisici; definizione di analisi numerica e buona posizione. Metodi numerici per equazioni non lineari (Modulo 2, settimana 2-3) 1. Metodi di bisezione, Newton, corde, secanti; 2. Metodo delle iterate per equazioni non lineari; teorema di punto fisso; 3. Condizioni di convergenza globali e locali; 4. Ordine dei metodi iterativi, analisi dell ordine del metodo di Newton; Elementi di programmazione nel linguaggio Octave/Matlab (Modulo 3, settimana 4) Aritmetica in precisione finita e analisi degli errori (Modulo 4, settimana 5) 1. Rappresentazione dei numeri negli elaboratori. 2. Arrotondamento, precisione; proprietà delle operazioni aritmetiche; 3. Analisi dell errore; numero di condizionamento. Metodi numerici per l algebra lineare (Modulo 5, settimane 6-9) 1. Richiami di algebra lineare. 2. Sistemi lineari, numero di condizionamento; sistemi triangolari; 3. Metodo di Gauss, fattorizzazione LU, LLT; 4. Problemi ai minimi quadrati: fattorizzazione QR; 5. Metodi iterativi per sistemi lineari: metodo di Jacobi e metodo di Gauss-Seidel; il metodo del Gradiente Coniugato; 6. Teoremi di convergenza e velocità dei metodi iterativi, teorema di Gershgorin; 7. Il calcolo degli autovalori: il metodo delle potenze, il metodo QR. Interpolazione polinomiale (Modulo 6, settimana 10) 1. Interpolazione ed approssimazione dei dati, formalizzazione del problema ed esempi; 2. Polinomio interpolante nelle forme di Lagrange e Newton, differenze divise; 3. Errore nelle formule di interpolazione, differenze divise e derivate; 4. Interpolazione con spline cubiche; Integrazione numerica (Modulo 7, settimana 11) 1. Formule di quadratura di tipo interpolatorio: analisi e grado di precisione; 2. Formule di Newton-Cotes e formule composite a schema fisso;
3. Analisi dell errore; Cenni alla integrazione delle equazioni differenziali ordinarie (Modulo 8, settimana 12) 1. Introduzione ai metodi per problemi di Cauchy; 2. errori formule per problemi di Cauchy (propagazione, locale, totale); 3. Formula dei trapezi, cenno ai più semplici metodi Runge-Kutta, 4. Introduzione alla Stiffness: regione di assoluta stabilità, definizione di A-stabilità Riferimenti bibliografici Appunti del corso. Giuseppe Rodriguez: Algoritmi Numerici, Pitagora Editrice. Modalità di esame L esame consiste in una prova scritta della durata di 90 minuti. Nello svolgimento della prova è ammesso l uso di calcolatrice tascabile non programmabile; non sono ammessi appunti o formulari di alcun tipo. Per gli studenti prenotati presso la sede di Roma è possibile svolgere una parte dell esame in forma orale.
Curriculum Vitae di Salvatore Filippone Professore Aggregato, corso di Analisi Numerica L-9, 9 C.F.U. Titoli Dottorato di ricerca in Matematica, Università degli Studi di Roma Tor Vergata; Abilitazione alla professione di Ingegnere; Laurea in Ingegneria Elettronica, Università degli Studi di Roma Tor Vergata. Posizioni Ricoperte Il Dr. Salvatore Filippone lavora attualmente presso il Dipartimento di Ingegneria Civile e Ingegneria Informatica, Università di Roma Tor Vergata. In precedenza ha lavorato presso l allora centro di ricerca ECSEC della IBM Italia. È attualmente Associate Editor per la rivista ACM Transactions on Mathematical Software ; svolge attività di consulenza per la Commissione delle Comunità Europee, in qualità di revisore e valutatore delle attività progettuali facenti capo ai programmi ESPRIT. 1 Attività di ricerca L attività di ricerca principale del Dr. Filippone si rivolge alla algebra lineare numerica su sistemi di elaborazione ad alte prestazioni; in particolare per quanto riguarda le applicazioni dei metodi iterativi per matrici sparse di grandi dimensioni. Si interessa altresì della ricerca sui supporti software, infrastrutture, librerie di calcolo, applicazioni del calcolo ad alte prestazioni a problemi di fluidodinamica, calcolo strutturale, ottimizzazione; architettura degli elaboratori paralleli; sistemi di elaborazione a memoria distribuita; sistemi di elaborazione a memoria condivisa. Nell ambito delle varie attività di ricerca rientrano le collaborazioni scientifiche: OpenCoarrays: Insieme con il Dr. Damian Rouson, il Dr. Dan Nagle e la Prof. Valeria Cardellini, Il Dr. Filippone è uno dei fondatori del progetto OpenCoarrays, http://www.opencoarrays.org/, avente come scopo lo sviluppo di un livello di trasporto intermedio per la implementazione di linguaggi PGAS (Partitioned Global Address Space), in modo da fornire supporto a diversi compilatori. Dati di performance preliminari sono stati presentati alle conferenze PGAS 14 e SC 14; è prevista la inclusione del softare nella versione 5.0 del compilatore GCC. European Exascale Software Initiative Il Dr. Filippone partecipa, su invito, in veste di esperto ai lavori del progetto European Exascale Software Initiative (EESI/EESI2: http://www.eesi-project.eu/), in particolare al WP 4.3: Numerical Libraries, ora WP 4.1: Numerical Analysis
Sandia National Laboratories e Stanford University Dal 2010 il Dr. Filippone collabora con il laboratorio CRF (Combustion Research Facility), Livermore, dei Sandia National Laboratories, e con il Center for Computational Environmental and Earth Sciences della Stanford University. Seconda Università di Napoli e ICAR/CNR Napoli Dal 2001 in collaborazione con la Dr.ssa Pasqua D Ambra del CNR e con la Prof. Daniela di Serafino della Seconda Università di Napoli svolge attività di ricerca nel campo dei precodizionatori multilivello per sistemi lineari. ENSEEIHT-CNRS, Toulouse L attività di sviluppo di software per matrici sparse prosegue oggi in collaborazione con il Dr. Alfredo Buttari, CNRS- ENSEEIHT, e con il Dr. Bora Uçar, ENS Lyon; IBM T. J. Watson Research Center, Yorktown Heights Il Dr. Filippone è stato uno dei principali responsabili dello sviluppo dei prodotti IBM ESSL Engineering and Scientific Subroutine Library, una libreria di strumenti di calcolo per mainframe vettoriali e per elaboratori RISC sequenziali o a memoria condivisa, e Parallel ESSL, la evoluzione della ESSL su macchine ad architettura parallela a memoria distribuita. Questo lavoro è stato svolto in stretta cooperazione con il Dr. Fred Gustavson ed il Dr. Ramesh Agarwal del centro ricerche IBM di Yorktown Heights, New York. University of Tennessee, Knoxville Lo sviluppo di software di supporto applicativo per elaboratori a memoria condivisa e distribuita ha comportato una stretta interazione con il gruppo diretto dal Prof. Jack Dongarra presso la University of Tennessee, Knoxville, nell ambito dei progetti LAPACK e ScaLAPACK. 2 Attività didattica Il Dr. Filippone ha insegnato vari corsi a livello universitario su argomenti di: Calcolo Numerico e Programmaizone per ingegneria civile (triennale); Fondamenti di Informatica in Matlab/Octave per ingegneria industriale (meccanica/energetica) triennale; Algebra Lineare Numerica per laurea specialistica in matematica ed ingengeria matematica; Programmazione avanzata e metodi numerici per il dottorato in ingegneria meccanica; Calcolatori elettronici e calcolo parallelo per Ingegneria Informatica; Ha inoltre tenuto corsi brevi e tutorial per: Oak Ridge National Laboratory (TN), Univ. California at Berkeley, Lawrence Berkeley Laboratory (CA), National Center for Atmospheric Research (CO), INFN Catania, ENEA Frascati, CRS4 Cagliari, ed altri. È stato supervisore di numerose tesi di laurea e di dottorato di ricerca.
2.1 Attività per la Commissione Europea Dal 1997 il Dr. Filippone svolge periodicamente attività di consulenza per la Commissione Europea in qualità di revisore di progetti negli ambiti High Performance Computing and Networking, Telecommunications, Information Society. Riveste particolare rilevanza la attività di revisore del progetto PRACE http://www.prace-ri.eu; esso è attualmente il principale progetto europeo nell area del calcolo ad alte prestazioni. Sono membri di PRACE tutti i principali centri di supercalcolo in Europa, tra cui EPCC (UK), GENCI e CEA (F), SARA (NL), CSC (FI), FZJ, LRZ, HLRS e RZG (D), CINECA (I), BSC (E), ICHEC (IE), CSCS (CH); i partner al momento comprendono istituzioni da 25 diversi paesi europei. Il progetto ha come obiettivo la integrazione dei centri in una struttura unificata che fornisca servizi alle comunità scientifiche a livello europeo, e di favorire l avanzamento della tecnologia e della industria europea nella fornitura di servizi per il supercalcolo e per altre aree applicative. Il Dr. Filippone ha seguito e monitorato il progetto fin dal suo inizio, facendo costantemente parte del team di esperti esterni chiamati a collaborare con i funzionari della Commissione Europea della D.G: CNECT (in precedenza INFSO). Ha inoltre partecipato a sessioni di valutazione di proposte progettuali per il IV, VI e VII Programma Quadro della Commissione Europea, ed ha svolto attività di valutazione per la National Science Foundation (USA). Riferimenti bibliografici [1] S. Filippone and G. Radicati di Brozolo. Vectorized ILU preconditioners for general sparsity patterns. Proc. of the Int. Meeting on Parallel Computing, Verona, Italy, 1988, pp. 103 114. [2] S. Filippone, P. Santangelo and M. Vitaletti. A vectorized long period shift register random number generator. Proc. of Supercomputing 90, pp. 676 684. [3] S. Filippone, M. Marrone and G. Radicati di Brozolo Parallel preconditioned conjugate-gradient type algorithms for general sparsity structures. International Journal of Computer Mathematics, Vol. 40, pp. 159-167, 1992. [4] M. Bernaschi, S. Filippone and M. L. Sales. Linear Algebra Operations and PVM on IBM RISC/System 6000 Clusters. 1993 PVM Users Group Meeting, Knoxville TN, May 1993. [5] S. Filippone and M. L. Sales, Experiences in Numerical Software on IBM distributed memory architectures, Parallel Scientific Computing Proc. of PARA 94, J. Dongarra and J. Waśniewski eds., pp. 207 218, Springer- Verlag Lecture Notes in Compute Science 879, 1994. [6] S. Filippone and C. Vittoli Some preliminary experience with sparse BLAS in parallel iterative solvers. Applied Parallel Computing Proc. of PARA 95, J. Dongarra et al eds., pp. 207 213, Springer-Verlag Lecture Notes in Computer Science 1041, 1996.
[7] S. Filippone The IBM Parallel Engineering and Scientific Subroutine Library. Applied Parallel Computing Proc. of PARA 95, J. Dongarra et al eds., pp. 199 206, Springer-Verlag Lecture Notes in Computer Science 1041, 1996. [8] S. Filippone Parallel Libraries on Distributed Memory Architectures: the IBM Parallel ESSL in Proc. of PARA 96, J. Dongarra et al eds., Springer- Verlag Lecture Notes in Computer Science No. 1184, pp. 247 255. [9] S. Filippone, P. Nobile and F. Papetti Computer simulation methodologies in engine design optimization ISCS 96, Atti della Conferenza Annuale della Italian Society for Computer Simulation, pp. 7 11, Università degli Studi di Roma Tor Vergata, Dic. 1996. [10] P. D Ambra, S. Filippone and P. Nobile The Use of a Parallel Library in Industrial Simulations: the Case Study of the Design of a Two-Stroke Engine ISCS 97, Atti della Conferenza Annuale della Italian Society for Computer Simulation. [11] Massimo Celino, L Colombo, V. Rosato, B.Di Martino, M. Briscolini and S. Filippone, Parallel Tight-Binding Molecular Dynamics code based on integration of HPF and optimized Parallel Libraries. in Proc. of PARA 98, B. Kågström et al eds., Springer-Verlag Lecture Notes in Computer Science No. 1541, pp. 104 111. [12] S. Filippone, M. Colajanni, D. Pascucci, An Object-Oriented Environment for Sparse Parallel Computation on Adaptive Grids, Proceedings of the IPPS 99 conference, San Juan Puerto Rico, IEEE Computer Society, pp. 365-369, April 1999. [13] S. Filippone, M. Colajanni PSBLAS: A library for parallel linear algebra computation on sparse matrices ACM Trans. on Math. Software, Vol. 26, No. 4, Dec. 2000, pp. 527 550. [14] L. Arnone, P. D Ambra, S. Filippone A parallel version of KIVA 3 based on general purpose numerical software and its use in two-stroke engine applications in Practical Parallel Computing, M. Paprzycki, L. Tarricone, L. T. Yang eds., pp. 37 55, Nova Science, New York, 2001. [15] S. Filippone, P. D Ambra, M. Colajanni Using a Parallel Library of Sparse Linear Algebra in a Fluid Dynamics Application Code on Clusters of Workstations Parallel Computing, Advances & Current Issues, G, Joubert, A. Murli, F. Peters, M. Vanneschi eds., Imperial College Press Pub. (2002), pp. 441 448. [16] A. Buttari, P. D Ambra, S. Filippone, D. Di Serafino Extending PSBLAS to Build Parallel Schwarz Preconditioners in J. Dongarra, K. Madsen, J. Wasniewski: PARA 2004, LNCS 3732, pp. 593 602, Springer, 2006 [17] G. Bella. S. Filippone, A. De Maio, Mario Testa A Simulation Model for Forest Fires in J. Dongarra, K. Madsen, J. Wasniewski: PARA 2004, LNCS 3732, pp. 546 553, Springer, 2006
[18] G. Bella. A. Buttari, A. De Maio, F. Del Citto, S. Filippone, F. Gasperini FAST-EVP: an engine simulation tool in L.T. Yang et al.: HPCC2005, LNCS 3726, pp. 969 978, Springer, 2006 [19] G. Bella. F. Bozza, A. De Maio, F. Del Citto, S. FilipponeAn enhanced parallel version of KIVA-3V coupled with a 1D CFD code and its use in general purpose engine application in M. Gerndt, D. Kranzlmuller: HPCC2006, LNCS 4208, pp. 11 20, Springer, 2006 [20] A. Buttari, V. Eijkhout, J. Langou and S. Filippone, Performance optimization and modeling of sparse kernels International Journal of High Performance Computing Applications, November 2007, Volume 21, No. 4, pp. 467 484. [21] P. D Ambra, S. Filippone, D. Di SerafinoOn the Development of PSBLASbased Parallel Two-level Schwarz Preconditioners Applied Numerical Mathematics, Elsevier Science, Volume 57, Issues 11-12, November-December 2007, Pages 1181-1196. [22] A. Buttari, D. di Serafino, P. D Ambra, S. Filippone,2LEV-D2P4: a package of high-performance preconditioners,applicable Algebra in Engineering, Communications and Computing, Volume 18, Number 3, May, 2007, pp. 223-239 [23] D. Schmidt, S. Toninel, S. Filippone, G. M. Bianchi Parallel Computation of Mesh Motion for CFD of IC EnginesSAE World Congress & Exhibition - 04/14/2008 [24] B. Bencivenga, F. Mioc, L. J. Foged, M. Sabbadini, S. Filippone, E. di Giampaolo An Accurate and Computationally Efficient Tool Using UTD on Large Meshed Geometries EUCAP 2009, Berlin [25] D. Barbieri, V. Cardellini, S. Filippone Generalized GEMM kernels on GPGPUs: experiments and applications. PARCO 2009,Lyon [26] P. D Ambra, D. di Serafino, S. Filippone: MLD2P4: a Package of Parallel Algebraic Multilevel Domain Decomposition Preconditioners in Fortran 95. ACM Trans. on Mathematical Software, 2010, Volume 37, No. 3. [27] A. Buttari, P. D Ambra, D. di Serafino, S. Filippone, Simone Gentile and Bora Uçar A Novel Aggregation Method based on Graph Matching for Algebraic MultilGrid Preconditioning of Sparse Linear Systems, Preconditioning 2011, Bordeaux, France, May 2011 [28] Davide Barbieri, Valeria Cardellini, Salvatore Filippone and Damian Rouson Design Patterns for Scientific Computations on Sparse Matrices HPSS 2011, Algorithms and Programming Tools for Next-Generation High-Performance Scientific Software, Bordeaux, Sep. 2011 [29] S. Filippone and A. Buttari:Object-Oriented Techniques for Sparse Matrix Computations in Fortran 2003. ACM Trans. on Mathematical Software, vol. 38, no. 4., 2012
[30] Karla Morris, Damian W. I. Rouson, M. Nicole Lemaster, Salvatore Filippone: Exploring capabilities within ForTrilinos by solving the 3D Burgers equation. Scientific Programming, vol 20, pp. 275-292, 2012. [31] P. D Ambra, D. di Serafino, S. Filippone: Performance Analysis of Parallel Schwarz Preconditioners in the LES of Turbulent Channel FLows. Computers and Mathematics with Applications, 65 (2013), pp. 352 361 [32] Valeria Cardellini, Salvatore Filippone and Damian Rouson Design Patterns for Scientific Computations on Sparse MatricesScientific Computing, 22(2014), pp. 1 19. [33] Alessandro Fanfarillo, Tobias Burnus, Valeria Cardellini, Salvatore Filippone, Dan Nagle, Damian Rouson OpenCoarrays: Open-source Transport Layers Supporting Coarray Fortran Compilers PGAS 2014, Eugene, OR, Oct. 2014 [34] Cardellini V, Fanfarillo A, Filippone S (2014). Sparse matrix computations on clusters with GPGPUs. In: Proceedings of the 2014 International Conference on High Performance Computing and Simulation (HPCS 2014). p. 23-30, IEEE, ISBN: 978-1-4799-5313-4, Bologna, Italy, 2014 [35] Barbieri D, Cardellini V, Filippone S (2014). Exhaustive key search on clusters of GPUs. In: 2014 28th IEEE International Parallel & Distributed Processing Symposium Workshops. p. 1160-1168, IEEE, ISBN: 978-1-4799-4116-2, Phoenix, Arizona, 2014, doi: 10.1109/IPDPSW.2014.131 [36] Bertaccini D, Filippone S (2014). Approximate Inverse Preconditioners for Krylov Methods on Heterogeneous Parallel Computers. In: Parallel Computing: Accelerating Computational Science and Engineering (CSE). AD- VANCES IN PARALLEL COMPUTING. p. 183-192, IOS Press, ISBN: 978-1-61499-380-3, doi: 10.3233/978-1-61499-381-0-183 [37] Barbieri D, Cardellini V, Filippone S (2014). Fast uniform grid construction on GPGPUs using atomic operations. In: Parallel Computing: Accelerating Computational Science and Engineering (CSE). ADVANCES IN PARALLEL COMPUTING, vol. 25, p. 295-304, Amsterdam:IOS Press, ISBN: 978-1-61499-380-3, ISSN: 0927-5452, Munich, Germany, 2013, doi: 10.3233/978-1-61499-381-0-295 [38] Cardellini V, Fanfarillo A, Filippone S (2014). Heterogeneous sparse matrix computations on hybrid GPU/CPU platforms. In: Parallel Computing: Accelerating Computational Science and Engineering (CSE). ADVANCES IN PARALLEL COMPUTING, vol. 25, p. 203-212, Amsterdam:IOS Press, ISBN: 978-1-61499-380-3, ISSN: 0927-5452, Munich, Germany, 2013, doi: 10.3233/978-1-61499-381-0-203 [39] Aziz Nanthaamornphong, Jeffrey Carver, Karla Morris, and Salvatore Filippone: Extracting UML Class Diagrams from Object-Oriented Fortran: ForUML Scientific Programming, to appear.