Tags:
tag this topic
create new tag
view all tags
---++!! *Programmazione di Sistemi Multicore* ---+++!! Corso di Laurea in Informatica, terzo anno ---+++ A.A. 2019-2020, primo semestre | <font color="#AF0F0F" size="+1"> *Docente: Michele Martinelli* </font> <p> </p> *Ricevimento*: per appuntamento al termine del corso. <br />E-mail: michele.martinelli AT uniroma1.it <p> </p> | | <div align="left"> </div> <div align="left"> *Orario delle lezioni* </div> <p> </p> <table border="1" cellpadding="0" cellspacing="1"> <tbody> <tr><th>Giorno</th><th>Ore</th><th>Aula</th></tr> <tr> <td>Martedì</td> <td>16-19</td> <td>Aula 1 - Via del Castro Laurenziano 7A</td> </tr> <tr> <td>Giovedì</td> <td>16-18</td> <td>Aula 1 - Via del Castro Laurenziano 7A</td> </tr> </tbody> </table> | ---++++ Avvisi %RED% *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).* %ENDCOLOR% --- RISULTATI appello 4 febbraio 2020: [[%ATTACHURL%/voti_appello_4feb2020.pdf][voti_appello_4feb2020.pdf]] RISULTATI prima sessione gennaio 2020 [[%ATTACHURL%/1920_voti_finali_esame_completo_gennaio_2020.pdf][1920_voti_finali_esame_completo_gennaio_2020.pdf]] [[%ATTACHURL%/1920_voti_finali_esoneri_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 <strong>Veloce ripasso di programmazione C (propedeutico per il resto del corso)</strong><br />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).<br /><br /><strong>Sistemi embedded ed elettronica (propedeutico per il resto del corso)</strong><br />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.<br /><br /><strong>FreeRTOS ("multithread" su sistemi embedded)</strong><br />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.<br /><br /><strong>MPI</strong><br />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.<br /><br /><strong>CUDA</strong><br />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. [[%ATTACHURL%/lezione_introduttiva.pdf][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. [[%ATTACHURL%/1920_ripasso_C_1.pdf][1920_ripasso_C_1.pdf]] *martedì 8 ottobre 2019:* ripasso del linguaddio C: Allocazione Dinamica, Struct, Typedef, Union. Esercizi pratici. [[%ATTACHURL%/1920_ripasso_C_2.pdf][1920_ripasso_C_2.pdf]] introduzione ai thread in C: parallelismo, libreria pthread, concorrenza, ripasso dei meccanismi di sincronizzazione [[%ATTACHURL%/1920_lezione2_multithread.pdf][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. [[%ATTACHURL%/1920_lezione3_multithread2.pdf][1920_lezione3_multithread2.pdf]] *martedì 15 ottobre 2019:* Corrente, tensione, potenza, introduzione ai componenti elettronici di base (resistenze, diodi), legge di Ohm, Arduino, breadboard [[%ATTACHURL%/1920_Lezione4_introduzione_elettronica.pdf][1920_Lezione4_introduzione_elettronica.pdf]] primi esperimenti con Arduino: installazione IDE, lampeggio LED integrato in Arduino, LED esterno, controllo di più LED [[%ATTACHURL%/1920_Lezione4_Arduino.pdf][1920_Lezione4_Arduino.pdf]] *giovedì 17 ottobre 2019:* introduzione alle porte e ai pin di un microcontrollore. pulsanti e resistenze di pullup. Comandi seriali [[%ATTACHURL%/1920_Lezione5-embedded_pullup.pdf][1920_Lezione5-embedded_pullup.pdf]] leggere un pulsante con Arduino, leggere un valore (resistore variabile) con un ingresso analogico di Arduino [[%ATTACHURL%/1920_Lezione5_Arduino.pdf][1920_Lezione5_Arduino.pdf]] *mercoledì 22 ottobre 2019:* esercitazione con Arduino: seriale, display LCD [[%ATTACHURL%/1920_Lezione_6-Arduino.pdf][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. [[%ATTACHURL%/lezione7_embedded.pdf][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 [[%ATTACHURL%/1920_lezione8_embedded.pdf][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. [[%ATTACHURL%/1920_FreeRTOS_1.pdf][1920_FreeRTOS_1.pdf]] [[%ATTACHURL%/1920_Lezione4_Arduino.pdf][<br />]] *giovedì 14 novembre* correzione esonero, come si realizza un PCB, operare dirattamente sulle porte del microcontrollore, primi esempi in STM32Cube IDE [[%ATTACHURL%/1920_lezione_PCB_nucleo.pdf][1920_lezione_PCB_nucleo.pdf]] <b> martedì 19 novembre</b><br /><br /> protocolli di comunicazione seriale, esercizi con scheda Nucleo. [[%ATTACHURL%/1920_porte_seriale_nucleo2.pdf][1920_porte_seriale_nucleo2.pdf]] *giovedì 21 novembre 2019* FreeRTOS: code, timer, interrupt, task notifications. [[%ATTACHURL%/1920_FreeRTOS_2.pdf][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. [[%ATTACHURL%/1920_MPI_1.pdf][1920_MPI_1.pdf]] - [[%ATTACHURL%/1920_eserciziMPI.rar][1920_eserciziMPI.rar]] Per scaricare OPENMMPI e installarlo fare riferimento a: https://github.com/open-mpi/ompi presentazione progetti [[%ATTACHURL%/1920_presentazione_progetti.pdf][1920_presentazione_progetti.pdf]] *giovedì 28 novembre 2019* MPI: send, receive, collective, broadcast, scatter, gather, reduce, gruppi. [[%ATTACHURL%/1920_MPI_02.pdf][1920_MPI_02.pdf]] - [[%ATTACHURL%/1920_esercizi_2_mpi.zip][1920_esercizi_2_mpi.zip]] *martedì 3 dicembre 2019* MPI: esercizi [[%ATTACHURL%/1920_Esercizi_MPI.pdf][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 [[%ATTACHURL%/1920_CUDA_01.pdf][1920_CUDA_01.pdf]] *martedì 10 dicembre 2019* CUDA: thread, dimblock e dimgrid, indexing, gestione GPU e parametri da passare ai kernel. esercizi pratici [[%ATTACHURL%/1920_CUDA_02.pdf][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 [[%ATTACHURL%/1920_HPC1.pdf][1920_HPC1.pdf]] esempi di applicazione della programmazione multicore alla blockchain: funzionamento, puzzle, esempi in python [[%ATTACHURL%/1920_BC1.pdf][1920_BC1.pdf]] elementi e chiarimenti per lo svolgimento dei progetti [[%ATTACHURL%/1920_aiuti_per_progetto.pdf][1920_aiuti_per_progetto.pdf]] *giovedì 19 dicembre 2019* ripasso del programma e approfondimenti vari: [[%ATTACHURL%/1920_ripasso_finale.pdf][1920_ripasso_finale.pdf]] ---+++ A.A. Precedenti [[PSMC1819][A.A.20182019]]
Attachments
Attachments
Topic attachments
I
Attachment
History
Action
Size
Date
Who
Comment
pdf
1920_BC1.pdf
r1
manage
1976.4 K
2019-12-18 - 08:09
MicheleMartinelli
pdf
1920_CUDA_01.pdf
r1
manage
2290.0 K
2019-12-06 - 11:23
MicheleMartinelli
pdf
1920_CUDA_02.pdf
r1
manage
642.3 K
2019-12-16 - 15:50
MicheleMartinelli
pdf
1920_Esercizi_MPI.pdf
r1
manage
1409.4 K
2019-12-04 - 14:18
MicheleMartinelli
pdf
1920_FreeRTOS_1.pdf
r1
manage
1617.8 K
2019-11-22 - 09:02
MicheleMartinelli
pdf
1920_FreeRTOS_2.pdf
r1
manage
1575.7 K
2019-11-22 - 09:02
MicheleMartinelli
pdf
1920_HPC1.pdf
r1
manage
1204.3 K
2019-12-18 - 08:09
MicheleMartinelli
pdf
1920_Lezione4_Arduino.pdf
r1
manage
907.0 K
2019-10-16 - 16:01
MicheleMartinelli
pdf
1920_Lezione4_introduzione_elettronica.pdf
r1
manage
2527.1 K
2019-10-16 - 16:01
MicheleMartinelli
pdf
1920_Lezione5-embedded_pullup.pdf
r1
manage
878.5 K
2019-10-17 - 19:19
MicheleMartinelli
pdf
1920_Lezione5_Arduino.pdf
r1
manage
710.3 K
2019-10-17 - 19:19
MicheleMartinelli
pdf
1920_Lezione_6-Arduino.pdf
r1
manage
863.9 K
2019-10-28 - 15:16
MicheleMartinelli
pdf
1920_MPI_02.pdf
r1
manage
455.7 K
2019-12-02 - 09:26
MicheleMartinelli
pdf
1920_MPI_1.pdf
r1
manage
853.7 K
2019-11-27 - 06:49
MicheleMartinelli
pdf
1920_aiuti_per_progetto.pdf
r1
manage
344.9 K
2019-12-18 - 08:09
MicheleMartinelli
rar
1920_eserciziMPI.rar
r1
manage
1.5 K
2019-11-28 - 07:38
MicheleMartinelli
zip
1920_esercizi_2_mpi.zip
r1
manage
4.6 K
2019-12-02 - 09:26
MicheleMartinelli
pdf
1920_freertos1.pdf
r1
manage
1218.9 K
2019-11-14 - 19:11
MicheleMartinelli
pdf
1920_lezione2_multithread.pdf
r1
manage
501.1 K
2019-10-09 - 09:26
MicheleMartinelli
pdf
1920_lezione3_multithread2.pdf
r1
manage
1757.7 K
2019-10-11 - 09:40
MicheleMartinelli
pdf
1920_lezione8_embedded.pdf
r1
manage
1485.7 K
2019-10-31 - 20:30
MicheleMartinelli
pdf
1920_lezione_PCB_nucleo.pdf
r1
manage
3823.2 K
2019-11-14 - 19:12
MicheleMartinelli
pdf
1920_porte_seriale_nucleo2.pdf
r1
manage
3031.5 K
2019-11-20 - 08:34
MicheleMartinelli
pdf
1920_presentazione_progetti.pdf
r1
manage
547.8 K
2019-11-27 - 06:49
MicheleMartinelli
pdf
1920_ripasso_C_1.pdf
r1
manage
1585.6 K
2019-10-04 - 07:52
MicheleMartinelli
pdf
1920_ripasso_C_2.pdf
r1
manage
2533.0 K
2019-10-09 - 09:26
MicheleMartinelli
pdf
1920_ripasso_finale.pdf
r1
manage
1663.5 K
2019-12-20 - 14:09
MicheleMartinelli
pdf
1920_voti_finali_esame_completo_gennaio_2020.pdf
r1
manage
11.8 K
2020-01-15 - 14:56
MicheleMartinelli
pdf
1920_voti_finali_esoneri_gennaio_2020.pdf
r1
manage
35.0 K
2020-01-15 - 14:56
MicheleMartinelli
pdf
lezione7_embedded.pdf
r1
manage
1634.5 K
2019-10-30 - 07:50
MicheleMartinelli
pdf
lezione_introduttiva.pdf
r1
manage
4716.0 K
2019-10-01 - 17:53
MicheleMartinelli
pdf
risultati_esonero1_multicore_updated.pdf
r1
manage
17.8 K
2019-11-20 - 08:34
MicheleMartinelli
pdf
voti_appello_4feb2020.pdf
r1
manage
10.6 K
2020-02-05 - 08:54
MicheleMartinelli
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r185
<
r184
<
r183
<
r182
<
r181
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r185 - 2020-10-09
-
MicheleMartinelli
Log In
or
Register
PSMC Web
Create New Topic
Index
Search
Changes
Notifications
Statistics
Preferences
Prenotazioni esami
Laurea Triennale ...
Laurea Triennale
Algebra
Algoritmi
Introduzione agli algoritmi
Algoritmi 1
Algoritmi 2
Algoritmi per la
visualizzazione
Architetture
Prog. sist. digitali
Architetture 2
Basi di Dati
Basi di Dati 1 Inf.
Basi di Dati 1 T.I.
Basi di Dati (I modulo, A-L)
Basi di Dati (I modulo, M-Z)
Basi di Dati 2
Calcolo
Calcolo differenziale
Calcolo integrale
Calcolo delle Probabilitą
Metodi mat. per l'inf. (ex. Logica)
canale AD
canale PZ
Programmazione
Fond. di Programmazione
Metodologie di Programmazione
Prog. di sistemi multicore
Programmazione 2
AD
EO
PZ
Esercitazioni Prog. 2
Lab. Prog. AD
Lab. Prog. EO
Lab. Prog. 2
Prog. a Oggetti
Reti
Arch. di internet
Lab. di prog. di rete
Programmazione Web
Reti di elaboratori
Sistemi operativi
Sistemi Operativi (12 CFU)
Anni precedenti
Sistemi operativi 1
Sistemi operativi 2
Lab. SO 1
Lab. SO 2
Altri corsi
Automi, Calcolabilitą
e Complessitą
Apprendimento Automatico
Economia Aziendale
Elaborazione Immagini
Fisica 2
Grafica 3D
Informatica Giuridica
Laboratorio di Sistemi Interattivi
Linguaggi di Programmazione 3° anno Matematica
Linguaggi e Compilatori
Sistemi Informativi
Tecniche di Sicurezza dei Sistemi
ACSAI ...
ACSAI
Computer Architectures 1
Programming
Laurea Magistrale ...
Laurea Magistrale
Percorsi di studio
Corsi
Algoritmi Avanzati
Algoritmica
Algoritmi e Strutture Dati
Algoritmi per le reti
Architetture degli elaboratori 3
Architetture avanzate e parallele
Autonomous Networking
Big Data Computing
Business Intelligence
Calcolo Intensivo
Complessitą
Computer Systems and Programming
Concurrent Systems
Crittografia
Elaborazione del Linguaggio Naturale
Estrazione inf. dal web
Fisica 3
Gamification Lab
Information Systems
Ingegneria degli Algoritmi
Interazione Multi Modale
Metodi Formali per il Software
Methods in Computer Science Education: Analysis
Methods in Computer Science Education: Design
Prestazioni dei Sistemi di Rete
Prog. avanzata
Internet of Things
Sistemi Centrali
Reti Wireless
Sistemi Biometrici
Sistemi Distribuiti
Sistemi Informativi Geografici
Sistemi operativi 3
Tecniche di Sicurezza basate sui Linguaggi
Teoria della
Dimostrazione
Verifica del software
Visione artificiale
Attivitą complementari
Biologia Computazionale
Design and development of embedded systems for the Internet of Things
Lego Lab
Logic Programming
Pietre miliari della scienza
Prog. di processori multicore
Sistemi per l'interazione locale e remota
Laboratorio di Cyber-Security
Verifica e Validazione di Software Embedded
Altri Webs ...
Altri Webs
Dottorandi
Commissioni
Comm. Didattica
Comm. Didattica_r
Comm. Dottorato
Comm. Erasmus
Comm. Finanziamenti
Comm. Scientifica
Comm Scientifica_r
Corsi esterni
Sistemi Operativi (Matematica)
Perl e Bioperl
ECDL
Fondamenti 1
(NETTUNO)
Tecniche della Programmazione 1° modulo
(NETTUNO)
Seminars in Artificial Intelligence and Robotics: Natural Language Processing
Informatica generale
Primo canale
Secondo canale
II canale A.A. 10-11
Informatica
Informatica per Statistica
Laboratorio di Strumentazione Elettronica e Informatica
Progetti
Nemo
Quis
Remus
TWiki ...
TWiki
Tutto su TWiki
Users
Main
Sandbox
Home
Site map
AA web
AAP web
ACSAI web
AA2021 web
Programming web
AA2021 web
AN web
ASD web
Algebra web
AL web
AA1112 web
AA1213 web
AA1920 web
AA2021 web
MZ web
AA1112 web
AA1213 web
AA1112 web
AA1314 web
AA1415 web
AA1516 web
AA1617 web
AA1819 web
Old web
Algo_par_dis web
Algoreti web
More...
PSMC Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
Register User
Questo sito usa cookies, usandolo ne accettate la presenza. (
CookiePolicy
)
Torna al
Dipartimento di Informatica
E
dit
A
ttach
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback