Algoritmi Paralleli e Sistemi Distribuiti - Parallel Algorithms and Distributed Systems

A.A. 2018/2019





Course Program, etc (A.A. 2018/2019)

  • Contents (pdf)


    Risultati Esami

  • Risultati Scritto 1 Appello Giugno 2019
  • Risultati Scritto 2 Appello Luglio 2019
  • Risultati Scritto Appello Settembre 2019


  • Exam Modality, Bonus, etc

  • Modality, etc
  • Cellular Automata Project
  • Parallel Sorting Project
  • Graph Algorithms Project
  • Linear Equations System Algorithms Project
  • Easter bonus
  • Elenco Bonus Consegnati
  • A simple parallel structure ... (Cellular Automata)


    Lectures (please contact lecturer for slide password)

  • Lecture 0 - Introduction (pdf)
  • Lecture 1 - Introduction (pdf)
  • Lecture 2 - Architectures (pdf)
  • Lecture 3 - Programming Models - Shared - OpenMP - 1st part (pdf)
  • Lecture 4 - Programming Models - Shared - OpenMP - 2nd part (pdf)
  • Lecture 5 - Programming Models - Shared - OpenMP - 3rd part (pdf)
  • Lecture 6 - Models, Partitioning, Design (pdf)
  • Lecture 7 - Programming Models (Examples) (pdf)
  • Lecture 8 - Networks, etc (pdf)
  • Lecture 9 - MPI (1st part) (pdf)
  • Lecture 10 - MPI (2nd part) (pdf)
  • Lecture 11 - MPI (3rd part) (pdf)
  • Lecture 12 - MPI (4th part) (pdf)
  • Lecture 13 - Performance, etc (1st part) (pdf)
  • Lecture 14 - MPI (5th part) (pdf)
  • Lecture 15 - Performance, etc (2nd part) (pdf)
  • Lecture 16 - MPI (6th part) (pdf)
  • Lecture 17 - Sorting, etc (pdf)

  • MPI - Code examples, etc (pdf)


    Tutorials (Parallel computing, OpenMP, MPI)

  • Quick guides on Linux for beginners (zip)
  • (Simple) Parallel Computing overview (zip)
  • MPI (pdf) - Excellent course on MPI by PACS Training Group


    Online Resources (Parallel computing, OpenMP, MPI)

  • Simple Parallel Computing Tutorial, from Lawrence Livermore National Laboratory
  • Designing and Building Parallel Programs, by Ian Foster
  • Simple but exhaustive OpenMP Tutorial (from Lawrence Livermore National Laboratory)
  • A (nice) Quick Tutorial on OpenMP, by Joel Yliluoma
  • 32 OpenMP traps for C++ developers
  • Tutorials and exercises with OpenMP (from openmp.org)
  • Simple but exhaustive MPI Tutorial (from Lawrence Livermore National Laboratory)


    MPI (in case of installation troubles via apt-get, pacman, etc)

  • Mini MPI HOWTO - Version 1.2.5
  • Mini MPI HOWTO - Version 2.1.2
  • MPI (Versione MPICH-1.2.5)
  • MPI (Version MPICH-2.1.2)
  • MPICH - 1.2.5 Manual
  • MPICH - 2.1.2 Manual
  • Mini OpenGL-for-MPI HOWTO
  • MPI Mini-Manual for Dummies (for the exam!)


    Exercises

  • OpenMP Example Codes


    Handouts

  • Posix Threads (pdf) Just for "culture" ... ;)
  • Linux Processes (pdf)
  • How to build a mini-cluster with Raspberry Pi s! (pdf) Just for fun ... ;)


    Material Sources

    • Almerico Murli, Universit� di Napoli
    • Salvatore Orlando, Universit� di Venezia
    • Rolf Rabenseifner, University of Stuttgart
    • Giovambattista Ianni, Universty of Calabria
    • Jack Dongarra, University of Tennesse
    • Slides from "Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers", 2nd ed., 2004 Pearson Education Inc.
    • Blaise Barney, Lawrence Livermore National Laboratory
    • Libro "Advanced Linux Programming"
    • Ananth Grama, Purdue University
    • David B. Kirk, NVIDIA Fellow
    • Web-mei W. Hwu, Universoty of Illinois - Urbana-Champaign
    • George Karypis, University of Minnesota
    • Fedele Stabile, University of Calabria
    • The OpenMP.org project

    Reception hours

    • please send an email to spataro[at]unical.it