You are in: Home » Home » Teaching » Algoritmi Avanzati 2014-2015

Algoritmi Avanzati—modulo 2
Laurea Magistrale in Informatica, Università di Bologna, 2014/2015

[ Avvisi | Introduzione | Descrizione del corso | Modalità d'esame | Progetti | Programma | Orario delle lezioni | Lucidi delle lezioni ]

Avvisi

5/2/2016
Questa edizione del corso è terminata.

Introduzione

Il corso di Algoritmi Avanzati è diviso in due moduli:

L'esame del corso consiste in due prove distinte sui contenuti dei due moduli (si faccia riferimento alla scheda del corso per dettagli). Una volta superate entrambe le prove verrà registrato un unico voto sul libretto.

Questa pagina contiene informazioni sul modulo 2.

Descrizione del modulo

Il Modulo 2 del corso di Algoritmi Avanzati fornisce agli studenti le capacità pratiche per progettare, implementare e analizzare programmi paralleli utilizzando OpenMP e MPI. Il modulo fornisce le basi metodologiche per progettare algoritmi efficienti su architetture a memoria condivisa e distribuita, affrontando poi gli aspetti pratici di programmazione.

Modalità d'esame

L'esame del modulo 2 consiste in un progetto di programmazione in cui verrà chiesto di implementare uno o più algoritmi paralleli in linguaggio C usando OpenMP e/o MPI.

Verrà proposto un progetto diverso prima di ciascuna delle tre sessione d'esami (sessione invernale, sessione estiva e sessione autunnale). Ciascun progetto può essere consegnato entro le scadenze indicate; superata la data di consegna per una sessione, sarà necessario svolgere un nuovo progetto assegnato in una delle sessioni d'esame successive.

Il progetto deve essere svolto individualmente, e deve essere consegnato e valutato positivamente (cioè con voto maggiore o uguale a 18) prima di poter sostenere la prova scritta del modulo 1 (prof. Bertossi).

I voti positivi riportati nei progetti restano validi fino all'ultima sessione d'esami dell'Anno Accademico 2014/2015, ossia fino alla sessione di gennaio/febbraio 2016 (compresa).

Il voto finale è calcolato come la media pesata dei voti riportati nei due moduli, ossia (voto_modulo_1 * 4 + voto_modulo_2 * 2) / 6

Progetti

Verrà assegnato un progetto diverso per ciascuna delle tre sessione d'esame (invernale, estiva, autunnale); quindi verranno complessivamente assegnati tre progetti: uno valido per la sessione invernale, uno per la sessione estiva e uno per la sessione autunnale. Per ciascun progetto (ad eccezione di quello per la sessione invernale) è prevista una singola data di consegna, indicata nella tabella sotto. Solo dopo che si è consegnato il progetto con valutazione positiva sarà possibile sostenere l'esame del modulo 1. I progetti valutati positivamente restano validi fino alla sessione d'esami di gennaio/febbraio 2016 compresa.

Progetti per il modulo 2 del corso di Algoritmi Avanzati, AA 2014/2015
Sessione Testo Consegna entro
gen/feb 2015 Implementazione delle somme prefisse con MPI
Alcuni commenti sulla programmazione C. Si prega di leggere con attenzione
Termini per la consegna scaduti
giu/lug 2015 Calcolo della distribuzione della distanza angolare di N punti nello spazio usando MPI
[input di esempio contenente le coordinate di 119613 stelle]
Termini per la consegna scaduti
set 2015 Calcolo dello skyline di un insieme di N punti nello spazio usando MPI
[input di esempio contenente le coordinate di 25000 punti casuali]
Termini per la consegna scaduti
gen/feb 2016 N-body problem in una dimensione
[Codice C della versione seriale, che puo' essere usato come punto di partenza]
Termini per la consegna scaduti

Programma del modulo e libri di testo

Programma di massima

Testo di riferimento

Altri testi per approfondimenti

Ulteriore materiale

Materiale sul linguaggio C

Il corso assume familiarità con il linguaggio C. Per sapere se il vostro livello di conoscenza del C è sufficiente, vi invito a leggere questa breve nota di autovalutazione. Per lo studio del linguaggio segnalo il libro classico:

Segnalo anche il seguente materiale disponibile in rete:

Orario delle lezioni

NB; le lezioni del modulo 2 si svolgono durante il primo ciclo al termine di quelle del modulo 1.

Orario del corso di Algoritmi Avanzati—modulo 2, AA 2014/2015
Martedì 13:30—16:30, aula Magna Anatomia Comparata
Mercoledì 13:30—15:30, aula Magna Anatomia Comparata

Lucidi delle lezioni

I lucidi non sono da considerare come sostitutivi né dei testi di riferimento né della frequenza alle lezioni, che costituiscono importanti elementi per una buona preparazione dell'esame; i lucidi messi a disposizione costituiscono soltanto uno schema di parte delle lezioni. Non si garantisce la correttezza di quanto riportato nei lucidi: segnalazioni di errori sono ovviamente sempre ben gradite.

12/11/2014
Introduzione al modulo 2 (Pacheco cap. 1)
[ODP] [PDF]
18/11/2014, 19/11/2014
Architetture per il calcolo parallelo (Pacheco cap. 2, tranne 2.6 che verrà trattato più avanti)
[ODP] [PDF]
Approfondimenti
19/11/2014
Parallel Programming Patterns
[ODP] [PDF]
Approfondimenti
25/11/2014
Programmazione parallela con OpenMP (Pacheco cap. 5)
[ODP] [PDF]
Approfondimenti
  • Blaise Barney, OpenMP, Lawrence Livermore National Laboratory.
26/11/2014
Lezione annullata causa recruiting day di ateneo
2/12/2014, 3/12/2014
Programmazione parallela con MPI (Pacheco cap. 3)
[ODP] [PDF]
Approfondimenti
9/12/2014
Valutazione delle prestazioni (Pacheco cap. 2.6)
[ODP] [PDF]
9/12/2014
Cenni sulla programmazione con CUDA
[ODP] [PDF]
Approfondimenti
10/12/2014
Seminario dr. Daniele Cesini (INFN-CNAF): Parallel Computing on SoC Architecture
[Lucidi]
This page validates as XHTML 1.0 strict This page validates as CSS Check the accessibility of this page with WAVE
This page was last updated on February 08 2017 informativa sulla privacy