Tags:
create new tag
view all tags

Programmazione di Sistemi Multicore

Corso di Laurea in Informatica, terzo anno

A.A. 2019-2020, primo semestre

Docente: Michele Martinelli

Ricevimento: per appuntamento al termine del corso.
E-mail: michele.martinelli AT uniroma1.it

Orario delle lezioni

GiornoOreAula
Martedý 16-19 Aula 1 - Via del Castro Laurenziano 7A
Giovedý 16-18 Aula 1 - Via del Castro Laurenziano 7A

Avvisi

L'appello straordinario si terrÓ il 27 ottobre 2020 alle 16 in modalitÓ telematica secondo le modalitÓ che verranno comunicate via email dal docente (probabilmente si utilizzerÓ la piattaforma Exam.net + SEB).


RISULTATI appello 4 febbraio 2020: voti_appello_4feb2020.pdf

RISULTATI prima sessione gennaio 2020

1920_voti_finali_esame_completo_gennaio_2020.pdf

1920_voti_finali_esoneri_gennaio_2020.pdf

in data 26 novembre 2019 sono stati presentati i progetti (li trovate nelle slide del diario delle lezioni) da svolgere in gruppo (fino a massimo 5 persone) o individualmente. Per richiedere il materiale necessario (in base alla vostra idea) inviare una email al docente con la lista di sensori / scheda (Arduino o Nucleo) ed eventuale altro hardware necessario. Saranno organizzati uno o due incontri prima della data degli appelli (probabilmente in laboratorio Colossus) per presentare il proprio progetto. Sono richieste alcune slide con la descrizione del progetto e i principali problemi affrontati.

*date di esame per la prima sessione : (esame completo + secondo esonero) 14 Gennaio ore 16-18 , Aula T1. Esame completo: 4 Febbraio ore 16-18 aula 2L *

Obiettivi e programma sintetico

Veloce ripasso di programmazione C (propedeutico per il resto del corso)
tipi primitivi, casting, controlli condizionali (if then else). controlli iterativi (while e for), array, matrici, funzioni, struct/typedef/union. Puntatori, aritmetica dei puntatori, stringhe in C. Programmazione multithread in C (pthread).

Sistemi embedded ed elettronica (propedeutico per il resto del corso)
introduzione ad Arduino. ADC e elettronica analogica, principali componenti elettronici di base: condensatori, diodi, transistor. Porte logiche (implementazione reale con transistor). Sensori: come "leggere" i diversi parametri ambientali (temperatura, umiditÓ).Esercizi ed esempi pratici con hardware reale.

FreeRTOS ("multithread" su sistemi embedded)
Introduzione ai sistemi real time, al sistema operativo FreeRTOS e la programmazioni dei dispositivi STM. programmazione C per sistemi embedded avanzati, nozioni di gestione della memoria e dello scheduler. Gestione multitasking, queue, interrupt e comunicazioni interprocesso. Esercizi ed esempi pratici con hardware reale.

MPI
Introduzione all'HPC con cenni ai super computer. MPI: che cos'Ŕ? A cosa serve? Operazioni point to point e di massa. Esercizi ed esempi pratici.

CUDA
Introduzione al calcolo su GPU. Paradigma di programmazioni su CUDA: da CPU a GPU e gestione della memoria. Come sfruttare il parallelismo e sfruttamento del framework. Esercizi ed esempi pratici.

applicazioni pratiche di programmazione su architetture reali (droni aerei e sottomarini).

Diario delle lezioni

martedý 1 ottobre 2019:

lezione introduttiva: cosa sono i sistemi embedded e quali sono le loro caratteristiche e limitazioni. Introduzione alla piattaforma Arduino. lezione_introduttiva.pdf

giovedý 3 ottobre 2019:

ripasso del linguaddio C: struttura di un programma, variabili, tipi primitivi, controlli condizionali, controlli iterativi, array, funzioni, puntatori, esercizi pratici. 1920_ripasso_C_1.pdf

martedý 8 ottobre 2019:

ripasso del linguaddio C: Allocazione Dinamica, Struct, Typedef, Union. Esercizi pratici. 1920_ripasso_C_2.pdf

introduzione ai thread in C: parallelismo, libreria pthread, concorrenza, ripasso dei meccanismi di sincronizzazione 1920_lezione2_multithread.pdf

giovedý 10 ottobre 2019:

POSIX thread: creazione di uno o pi¨ thread, exit, join. MUTEX: introduzione, creazione e cancellazione. Esercizi pratici. 1920_lezione3_multithread2.pdf

martedý 15 ottobre 2019:

Corrente, tensione, potenza, introduzione ai componenti elettronici di base (resistenze, diodi), legge di Ohm, Arduino, breadboard 1920_Lezione4_introduzione_elettronica.pdf

primi esperimenti con Arduino: installazione IDE, lampeggio LED integrato in Arduino, LED esterno, controllo di pi¨ LED 1920_Lezione4_Arduino.pdf

giovedý 17 ottobre 2019:

introduzione alle porte e ai pin di un microcontrollore. pulsanti e resistenze di pullup. Comandi seriali 1920_Lezione5-embedded_pullup.pdf

leggere un pulsante con Arduino, leggere un valore (resistore variabile) con un ingresso analogico di Arduino 1920_Lezione5_Arduino.pdf

mercoledý 22 ottobre 2019:

esercitazione con Arduino: seriale, display LCD 1920_Lezione_6-Arduino.pdf

giovedý 24 ottobre 2019:

lezione annullata

mercoledý 29 ottobre 2019:

ripasso legge di Ohm, condensatore, diodo, LED, interrupt. Esercizi sulla carica / scarica del condensatore. lezione7_embedded.pdf

giovedý 31 ottobre 2019:

ripasso potenziometri e divisori di voltaggio, transistor: funzionamento in zona attiva, saturazione e interdizione. Esercizi con led e transistor, porte logiche realizzate con transistor 1920_lezione8_embedded.pdf

martedý 5 novembre

esonero

giovedý 7 novembre

sospensione didattica

martedý 12 novembre

FreeRTOS: perchÚ Ŕ necessario il Real Time, HEAP, STM32Cube IDE, Task ,Code, Timer. 1920_FreeRTOS_1.pdf

giovedý 14 novembre

correzione esonero, come si realizza un PCB, operare dirattamente sulle porte del microcontrollore, primi esempi in STM32Cube IDE 1920_lezione_PCB_nucleo.pdf

martedý 19 novembre

protocolli di comunicazione seriale, esercizi con scheda Nucleo. 1920_porte_seriale_nucleo2.pdf

giovedý 21 novembre 2019

FreeRTOS: code, timer, interrupt, task notifications. 1920_FreeRTOS_2.pdf esercizi svolti a lezione: https://drive.google.com/file/d/1jPbXiNy8inJKcHe3eUB6SALZZJ1lrTOO/view?usp=sharing

martedý 26 novembre 2019

MPI: introduzione, modelli di esecuzione, comunicazione, esercizi. 1920_MPI_1.pdf - 1920_eserciziMPI.rar

Per scaricare OPENMMPI e installarlo fare riferimento a: https://github.com/open-mpi/ompi

presentazione progetti 1920_presentazione_progetti.pdf

giovedý 28 novembre 2019

MPI: send, receive, collective, broadcast, scatter, gather, reduce, gruppi. 1920_MPI_02.pdf - 1920_esercizi_2_mpi.zip

martedý 3 dicembre 2019

MPI: esercizi 1920_Esercizi_MPI.pdf

venerdý 5 dicembre 2019

scaricare il framework CUDA all'indirizzo: https://developer.nvidia.com/cuda-downloads

CUDA: introduzione, gestione del flusso di calcolo, blocchi, thread, indicizzazione 1920_CUDA_01.pdf

martedý 10 dicembre 2019

CUDA: thread, dimblock e dimgrid, indexing, gestione GPU e parametri da passare ai kernel. esercizi pratici 1920_CUDA_02.pdf

giovedý 12 dicembre 2019

lezione annullata causa ITMEETING

martedý 17 dicembre

ambienti multi GPU: comunicazione e esempi di indirizzamento e gestione, paradigma RDMA, esempi di applicazione in ambito HPC e HEP 1920_HPC1.pdf

esempi di applicazione della programmazione multicore alla blockchain: funzionamento, puzzle, esempi in python 1920_BC1.pdf

elementi e chiarimenti per lo svolgimento dei progetti 1920_aiuti_per_progetto.pdf

giovedý 19 dicembre 2019

ripasso del programma e approfondimenti vari: 1920_ripasso_finale.pdf

A.A. Precedenti

A.A.20182019

Topic attachments
I Attachment History Action Size Date Who Comment
PDFpdf 1920_BC1.pdf r1 manage 1976.4 K 2019-12-18 - 08:09 MicheleMartinelli  
PDFpdf 1920_CUDA_01.pdf r1 manage 2290.0 K 2019-12-06 - 11:23 MicheleMartinelli  
PDFpdf 1920_CUDA_02.pdf r1 manage 642.3 K 2019-12-16 - 15:50 MicheleMartinelli  
PDFpdf 1920_Esercizi_MPI.pdf r1 manage 1409.4 K 2019-12-04 - 14:18 MicheleMartinelli  
PDFpdf 1920_FreeRTOS_1.pdf r1 manage 1617.8 K 2019-11-22 - 09:02 MicheleMartinelli  
PDFpdf 1920_FreeRTOS_2.pdf r1 manage 1575.7 K 2019-11-22 - 09:02 MicheleMartinelli  
PDFpdf 1920_HPC1.pdf r1 manage 1204.3 K 2019-12-18 - 08:09 MicheleMartinelli  
PDFpdf 1920_Lezione4_Arduino.pdf r1 manage 907.0 K 2019-10-16 - 16:01 MicheleMartinelli  
PDFpdf 1920_Lezione4_introduzione_elettronica.pdf r1 manage 2527.1 K 2019-10-16 - 16:01 MicheleMartinelli  
PDFpdf 1920_Lezione5-embedded_pullup.pdf r1 manage 878.5 K 2019-10-17 - 19:19 MicheleMartinelli  
PDFpdf 1920_Lezione5_Arduino.pdf r1 manage 710.3 K 2019-10-17 - 19:19 MicheleMartinelli  
PDFpdf 1920_Lezione_6-Arduino.pdf r1 manage 863.9 K 2019-10-28 - 15:16 MicheleMartinelli  
PDFpdf 1920_MPI_02.pdf r1 manage 455.7 K 2019-12-02 - 09:26 MicheleMartinelli  
PDFpdf 1920_MPI_1.pdf r1 manage 853.7 K 2019-11-27 - 06:49 MicheleMartinelli  
PDFpdf 1920_aiuti_per_progetto.pdf r1 manage 344.9 K 2019-12-18 - 08:09 MicheleMartinelli  
Unknown file formatrar 1920_eserciziMPI.rar r1 manage 1.5 K 2019-11-28 - 07:38 MicheleMartinelli  
Compressed Zip archivezip 1920_esercizi_2_mpi.zip r1 manage 4.6 K 2019-12-02 - 09:26 MicheleMartinelli  
PDFpdf 1920_freertos1.pdf r1 manage 1218.9 K 2019-11-14 - 19:11 MicheleMartinelli  
PDFpdf 1920_lezione2_multithread.pdf r1 manage 501.1 K 2019-10-09 - 09:26 MicheleMartinelli  
PDFpdf 1920_lezione3_multithread2.pdf r1 manage 1757.7 K 2019-10-11 - 09:40 MicheleMartinelli  
PDFpdf 1920_lezione8_embedded.pdf r1 manage 1485.7 K 2019-10-31 - 20:30 MicheleMartinelli  
PDFpdf 1920_lezione_PCB_nucleo.pdf r1 manage 3823.2 K 2019-11-14 - 19:12 MicheleMartinelli  
PDFpdf 1920_porte_seriale_nucleo2.pdf r1 manage 3031.5 K 2019-11-20 - 08:34 MicheleMartinelli  
PDFpdf 1920_presentazione_progetti.pdf r1 manage 547.8 K 2019-11-27 - 06:49 MicheleMartinelli  
PDFpdf 1920_ripasso_C_1.pdf r1 manage 1585.6 K 2019-10-04 - 07:52 MicheleMartinelli  
PDFpdf 1920_ripasso_C_2.pdf r1 manage 2533.0 K 2019-10-09 - 09:26 MicheleMartinelli  
PDFpdf 1920_ripasso_finale.pdf r1 manage 1663.5 K 2019-12-20 - 14:09 MicheleMartinelli  
PDFpdf 1920_voti_finali_esame_completo_gennaio_2020.pdf r1 manage 11.8 K 2020-01-15 - 14:56 MicheleMartinelli  
PDFpdf 1920_voti_finali_esoneri_gennaio_2020.pdf r1 manage 35.0 K 2020-01-15 - 14:56 MicheleMartinelli  
PDFpdf lezione7_embedded.pdf r1 manage 1634.5 K 2019-10-30 - 07:50 MicheleMartinelli  
PDFpdf lezione_introduttiva.pdf r1 manage 4716.0 K 2019-10-01 - 17:53 MicheleMartinelli  
PDFpdf risultati_esonero1_multicore_updated.pdf r1 manage 17.8 K 2019-11-20 - 08:34 MicheleMartinelli  
PDFpdf voti_appello_4feb2020.pdf r1 manage 10.6 K 2020-02-05 - 08:54 MicheleMartinelli  
Edit | Attach | Watch | Print version | History: r185 < r184 < r183 < r182 < r181 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r185 - 2020-10-09 - MicheleMartinelli






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback