Strumenti Utente

Strumenti Sito


magistraleinformaticanetworking:spd:start

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
magistraleinformaticanetworking:spd:start [26/02/2025 alle 18:52 (12 mesi fa)] – [Aim of the Course] Massimo Coppolamagistraleinformaticanetworking:spd:start [19/02/2026 alle 00:46 (19 ore fa)] (versione attuale) Massimo Coppola
Linea 7: Linea 7:
 e-mail : massimo.coppola@isti.cnr.it \\ e-mail : massimo.coppola@isti.cnr.it \\
 Phone :  050 315 2992 \\ Phone :  050 315 2992 \\
-Office location :  CNR Reseach Area, ISTI-CNR, Building C, room 33\\ +Office location :  CNR Reseach Area, ISTI-CNR, Building B, room C-33\\ 
  
-^ **IMPORTANT: the first lesson will be on THURSDAY 27/02/2025**   |+^ **IMPORTANT: the first lesson will be on THURSDAY 19/02/2026**   |
 ^  **Interested students are kindly asked to contact the teacher via email.**  | ^  **Interested students are kindly asked to contact the teacher via email.**  |
- 
-^  ** The course this year will be more experimental, see below the notes to the program.**  | 
  
  
 **Course info**\\ **Course info**\\
-  * This page concerns the SPD course (535AA) for the academic year 2024-2025, which gives you **6 credits**.+  * This page concerns the SPD course (535AA) for the academic year 2025-2026, which gives you **6 credits**.
   * Be sure to alway check the NEWS section in this page.   * Be sure to alway check the NEWS section in this page.
   * Information about latest past editions of the SPD course can be found at the following links.   * Information about latest past editions of the SPD course can be found at the following links.
  
-^  [[magistraleinformaticanetworking:spd:spd-14-15|SPD 2014-2015]]  ^  [[magistraleinformaticanetworking:spd:spd-15-16|SPD 2015-2016]]  ^ [[magistraleinformaticanetworking:spd:spd-16-17|SPD 2016-2017]] ^ [[magistraleinformaticanetworking:spd:spd-17-18|SPD 2017-2018]]  ^ [[magistraleinformaticanetworking:spd:spd-18-19|SPD 2018-2019]] ^ [[magistraleinformaticanetworking:spd:spd-20-21|SPD 2020-2021]] ^ [[magistraleinformaticanetworking:spd:spd-21-22|SPD 2021-2022]]  ^ [[magistraleinformaticanetworking:spd:spd-22-23|SPD 2022-2023]]  |+^ [[magistraleinformaticanetworking:spd:spd-18-19|SPD 2018-2019]] ^ [[magistraleinformaticanetworking:spd:spd-20-21|SPD 2020-2021]] ^ [[magistraleinformaticanetworking:spd:spd-21-22|SPD 2021-2022]]  ^ [[magistraleinformaticanetworking:spd:spd-22-23|SPD 2022-2023]] ^ [[magistraleinformaticanetworking:spd:spd-24-25|SPD 2024-2025]]  |
  
 ==== Timetable ==== ==== Timetable ====
Linea 29: Linea 27:
  
  
-Wednesday |  **11:00-13:00** | Room FIB X3 |    +Thursday |  **09:00-11:00** | Room FIB X3 | 
-Thursday |  **16:00-18:00** | Room FIB X3 |+Friday |  **14:00-16:00** | Room FIB X3 |   
  
 [[https://unipi.prod.up.cineca.it/calendarioPubblico/linkCalendarioId=6319dae0e209821793111be9|Here the official time table]]  [[https://unipi.prod.up.cineca.it/calendarioPubblico/linkCalendarioId=6319dae0e209821793111be9|Here the official time table]] 
  
-  * See also the Dept. [[https://didattica.di.unipi.it/laurea-magistrale-in-informatica-e-networking/orario-magistrale-informatica-e-networking/|official timetable]] and the virtual room links on [[https://esami.unipi.it/|esami.unipi.it]]. +  * See also the Dept. [[https://didattica.di.unipi.it/laurea-magistrale-in-informatica-e-networking/orario-magistrale-informatica-e-networking/|official timetable]] 
   * In case of exceptions, notice will be given in the News section below in this page and by email to the students.    * In case of exceptions, notice will be given in the News section below in this page and by email to the students. 
  
Linea 41: Linea 39:
  
 === News and Updates === === News and Updates ===
-   * 26/02/2024 First lesson will be held next Thursday 27/2, 16:00-18:00.+   * 26/02/2024 First lesson will be held next Thursday 19/2, 9:00-11:00.
  
 ==== Course Journal ==== ==== Course Journal ====
  
-The [[magistraleinformaticanetworking:spd:lezioni24.25|course journal]] is a separate page in this wiki.+The [[magistraleinformaticanetworking:spd:lezioni25.26|course journal]] is a separate page in this wiki.
  
 -------- --------
Linea 62: Linea 60:
  
   * Parallel Programming systems/frameworks   * Parallel Programming systems/frameworks
-    * **MPI** message-passing programming (the core part of the MPI 2.2 standard) +     * **MPI** message-passing programming (the core part of the MPI standard) 
-    * **ONEAPI** as a unifying meta-approach toward programming several architectural layers, encapsulating other existing programming frameworks +     * **ONEAPI** as a unifying meta-approach toward programming several architectural layers, encapsulating other existing programming frameworks 
-    * **TBB** Thread Building Blocks Multicore oriented, shared-memory programming framework +    * **TBB** Thread Building BlocksMulticore oriented, shared-memory programming framework 
-    * **SYCL** Common source CPU/GPU C++ programming framework  +    * **SYCL** Common source CPU/GPU C++ programming framework 
-    * Massively Multicore computation and GPU programming frameworks: mainly **OpenCL** but also references to CUDA  +    * Massively Multicore computation and GPU programming frameworks: mainly **OpenCL** but also references to **CUDA**  
-    * other topics and parallel/distributed formalisms we may partially address +  * other topics and parallel/distributed formalisms we may partially address 
-         * Software defined processors: FPGA-based open source processors, OpenCL to FPGA compilation  +    * Software defined processors: FPGA-based open source processors, OpenCL to FPGA compilation 
-         * High-Level SPP languages for Clusters/Clouds, dynamic and autonomic management +    * High-Level SPP languages for Clusters/Clouds, dynamic and autonomic management 
-         * SPC++ +    * SPC++ 
-         * BSP-based approaches (e.g. Apache Hama / Giraph, or MulticoreBSP) +    * BSP-based approaches (e.g. Apache Hama / Giraph, or MulticoreBSP) 
-  * **Example Applications** may include +  * Example Applications may include  
-    * Data mining (K-means, classification...), machine learning algorithmscomputational simulation algorithms +    * Data mining (K-means, classification),  
-  * Managing HPC experiments with **SLURM** +    * machine learning algorithms 
-  * Further technology topics if time allows +    * computational simulation algorithms 
-    * Scripting HPC applications with **Python** +  * Further technology topics  
-  * FoundationTechnologies we may cover if needed +    * Managing HPC experiments with SLURM 
-    * Elementary mechanisms to distribute computation: message passing, shared memory, massive multicore +    * Scripting HPC applications with Python 
-    * Basics of scheduling algorithms and resource management + 
-    * Basics of Service Oriented Architectures SOA +We may cover other Foundational aspects and technologiesdepending on the specific year and students' interests or that may be exploited in the project work. 
-    * Service oriented Platforms, Cloud Computing and Cloud Federations+ 
 +  * Elementary mechanisms and theory of distributed computation: message passing, shared memory, massive multicore 
 +  * Programming frameworks or libraries for parallelising/distributing computation: e.g. AMD ROCm, NVIDIA CUDA. 
 +  * Basics of scheduling algorithms and resource management in different field (HPC; Cloud , Continuum) 
 +  * Basics of Service Oriented Architectures SOA 
 +  * Service oriented Platforms, Cloud Computing and Cloud Federations
  
 -------- --------
Linea 93: Linea 96:
 ==== Teaching material ==== ==== Teaching material ====
 === Books === === Books ===
-  * [[http://mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf|Standard MPI 3.1, 2015]] Only those parts that we will specify during the lessons. Please check the [[http://mpi-forum.org/docs/mpi-3.1/errata-31.pdf//example.com|MPI 3.1 errata]] as there are errors in a couple of code examples.\\ On the [[http://www.mpi-forum.org/|MPI forum web site]] you will find //alternate formattings//  and //translations// of the same material.  + 
-  * **B. Wilkinson, M. Allen -- Parallel Programming**, 2nd edition. 2005, Prentice-Hall. This book will be also used; at least the 1st edition is available in the University Library of Math/Comp.Sc./Physiscs, under code C.1.2 w74 INF .+  * Latest **MPI Standard*from [[https://www.mpi-forum.org/docs/MPI Forum]]\\The course mostly relies on MPI 3.1, 2015 features, and of those only some parts are needed, that we will specify during the lessons. Please always check the related MPI standard errata.\\ On the [[http://www.mpi-forum.org/|MPI forum web site]] you will find //alternate formattings//  and //translations// of the same material.  
 +  * **M. Voss, J. Reinders -  Today's TBB (C++ Parallel Programming with Threading Building Blocks)**.\\ Springer Open access book available at [[https://link.springer.com/book/10.1007/979-8-8688-1270-5|Today's TBB]] 
 +  * //Older reference//  //M. Voss, R. Asenjo, J. Reinders - Pro TBB (C++ Parallel Programming with Threading Building Blocks)//. Open access OAPEN book available at [[http://library.oapen.org/handle/20.500.12657/22838| OAPEN library]] 
 +  * **B. Wilkinson, M. Allen -- Parallel Programming**, 2nd edition. 2005, Prentice-Hall.\\ It is available in the University Library of Math/Comp.Sc./Physiscs, under code C.1.2 w74 INF .
   * **Michael Mc Cool, Arch D. Robinson and James Reinders -- Structured Parallel Programming (patterns for Efficient Computation)** 2012, Morgan Kaufmann. \\ Chapters 1 to 3 cover background topics which should be already known from previous courses (SPA, SPD courses). Stundents need to focus on the TBB material throughout the book: Appendix C and D, and the TBB examples in the book that appendix C references from chapters 4, 5, 8 and 9. Check also Chapter 11 on k-means.    * **Michael Mc Cool, Arch D. Robinson and James Reinders -- Structured Parallel Programming (patterns for Efficient Computation)** 2012, Morgan Kaufmann. \\ Chapters 1 to 3 cover background topics which should be already known from previous courses (SPA, SPD courses). Stundents need to focus on the TBB material throughout the book: Appendix C and D, and the TBB examples in the book that appendix C references from chapters 4, 5, 8 and 9. Check also Chapter 11 on k-means. 
-  * //Alternate book:// An introduction to TBB is also found in **James Reinders -- Intel Threading Building Blocks** 2007, O'Reilly Media. More focused on TBB alone, but describes a quite old release of the framework, hence you need to look at online documentation for some of the features. +  *  **J. Reinders et al. - Data Parallel C++ (Programming Accelerated Systems Using C++ and SYCL)**\\ Open access book on Springer Open Access, available at the URL [[https://link.springer.com/book/10.1007/978-1-4842-9691-2|Data Parallel C++]] 
-  * **M. Voss, R. Asejo, J. Reinders -- Pro TBB Book code samples ported to oneAPI** Open access book on Springer  [[https://link.springer.com/book/10.1007%2F978-1-4842-4398-5|Pro TBB Open Access]]  +  * //Alternate book:// An introduction to TBB is also found in //James Reinders -- Intel Threading Building Blocks// 2007, O'Reilly Media.\\ More focused on TBB alone, but describes a quite old release of the framework, hence you need to look at online documentation for some of the features.
-  * **J. Reinders et al. - Data Parallel C++ ** Open access book on Springer [[https://link.springer.com/book/10.1007%2F978-1-4842-5574-2|Data Parallel C++ Open Access]]+
  
 === Papers and reading material === === Papers and reading material ===
  
-TBD+Examples:  
 +  * **Parallel k-means** Dhillon & Modha Technical Report about parallel K-means, published as: A Data-Clustering Algorithm On Distributed Memory Multiprocessors. I.S. Dhillon, D.S.Modha, LNAI 1759, pag 245. Published version has issues, refer to the Tech. rep.  
 +  * **Parallel Clustering** Large-Scale Parallel Data Clustering. Dan Judd, Philip K. Mckinley, Anil K. Jain. Ieee Transaction On Pattern Analysis And Machine Intelligence, Vo. 20, No. 8 August 1998.  
 + 
 + 
magistraleinformaticanetworking/spd/start.txt · Ultima modifica: 19/02/2026 alle 00:46 (19 ore fa) da Massimo Coppola

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki