Servizi per la didattica
PORTALE DELLA DIDATTICA

GPU programming

01URVOV

A.A. 2023/24

Course Language

Inglese

Course degree

Master of science-level of the Bologna process in Ingegneria Informatica (Computer Engineering) - Torino

Course structure
Teaching Hours
Teachers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Teaching assistant
Espandi

Context
SSD CFU Activities Area context
ING-INF/05 6 B - Caratterizzanti Ingegneria informatica
2021/22
The course is taught in Italian. Oggetto del corso sono l'acquisizione, l' elaborazione, l'analisi e la comprensione del contenuto di immagini e sequenze di immagini digitali di oggetti 2D e 3D (computer vision). Tra le molte applicazioni citiamo l'ispezione industriale, la sorveglianza, l'identificazione biometrica (impronte digitali, retiniche, immagini del viso, iride), l'analisi del movimento umano per l'intrattenimento o scopi medici e sportivi, l'analisi del territorio da immagini aeree o da satellite, la scansione 3D, la navigazione robotica. Il corso illustrerà le tecniche fondamentali e il loro uso in alcune delle principali applicazioni pratiche.
The course aims to allow to students to work on GPUs, that in the last fifteen years (as of 2021) are continuously increasing their usefulness and popularity. For this reason the course will cover arguments as parallel computing and its rules, GPU and CPU architectures (comparison), CUDA programming, debugging, profiling and applications of GPU programming. During the laboratory, if possible, the work will be done on specific development cards by means of Python programming language, able to work also on artificial intelligence algorithms and graphics projects, e.g. Tensorflow. All the described competences are very well considered in the job market.
Lo studente acquisirà le conoscenze fondamentali relative a: - sensori e sistemi per l'acquisizione dell'immagine - modellazione dei sistemi ottici e loro funzioni di trasferimento - analisi in frequenza delle immagini - tecniche per il miglioramento e la ricostruzione di immagini affette da vari tipi di rumore ed alterazioni (rumore termico dei sensori, imperfezioni dell'ottica, movimento relativo, etc) - tecniche per la segmentazione e l'estrazione di elementi caratteristici di un'immagine - tecniche per il riconoscimento di oggetti 2D e 3D - tecniche per l'analisi del movimento Tramite queste conoscenze e numerosi esempi applicativi, lo studente verrà messo in grado di progettare un sistema di visione mediante calcolatore.
At the end of the course students will be able to master: - parallel computing and its rules - GPU and CPU architectures (comparison) - CUDA programming, debugging, executing and profiling on GPUs - applications of GPU programming - realistic applications on embedded GPU cards
Elementi di analisi matematica, analisi di segnali monodimensionali, algebra lineare, calcolo delle probabilità.
C programming, Python programming (suggested, but not required), Computer architectures, Operating systems.
Argomenti principali e peso in crediti - Sistemi di acquisizione immagini(1 cr) - Elaborazione immagini. Trasformate 2D e funzioni di trasferimento(1 cr) - Miglioramento e ricostruzione immagini(0.5 cr) - Segmentazione ed estrazione dati significativi(0.5 cr) - Riconoscimento 2D e 3D(1 cr) - Analisi movimento(0.5 cr) - Casi di studio(1.5 cr)
Introduction to parallel computing. Classification of Parallel Computers. Amdahl's law, SISD, SIMD, MISD e MIMD. GPU architecture. Comparison of CPU with GPU architectures (1 cfu). GPU processing organization: multiprocessors and streaming processors. GPU memory organization: local and shared, cache memories. Grids, blocks, threads and warps (1 cfu). CUDA programming, Debugging. Performance profiling (2 cfu). OpenCL. Applications: Convolution and Image filtering (2 cfu).
Le esercitazioni di laboratorio prevedono l'uso di programmi per l'elaborazione e l'analisi dell'immagine. Le esercitazioni sono propedeutiche allo sviluppo di un progetto, individuale o di gruppo, che concorrerà a determinare il voto finale.
The laboratory sessions will build on the material covered in the class, and aim to solidify your understanding of concepts through hands-on experimentation. During the laboratory, the work will be done on specific GPU development cards programmable with Cuda and controlled by means of Python. Project will be assigned individually or to small groups. The results will be evaluated and will contribute to the final mark.
Slide del corso ed altro materiale presso: http://didattica.polito.it Testi suggeriti: - R.C. Gonzales and R.E. Woods: Digital Image Processing, Pearson International Edition, 2008 - C. Steger, M. Ulrich, C. Wiedermann: Machine Vision Algorithms and Applications, Wiley-VCH, 2008 - G.C. Holst and T.S. Lomheim: CMOS/CCD Sensors and Camera Systems, SPIE Press, 2007 - E.R. Davies, Machine Vision: Elsevier, 2005
Course transparencies and other material at http://didattica.polito.it
Modalità di esame: Prova scritta (in aula); Elaborato progettuale individuale; Elaborato progettuale in gruppo;
Exam: Written test; Individual project; Group project;
L'esame si compone di una prova scritta della durata indicativa di 80 minuti, nella quale sarà richiesto di rispondere ad una serie di domande, normalmente 5. A discrezione del docente può inoltre svolgersi una prova orale, integrativa o sostitutiva. È necessario prenotarsi all'esame e presentarsi muniti di un documento d'identità. Durante l'esame non è possibile usare computer, telefonini o smartphone, oppure consultare libri e appunti. È inoltre previsto che venga svolto un lavoro obbligatorio, individuale o di gruppo, volto a realizzare un'applicazione grafica sfruttando le nozioni acquisite durante le esercitazioni di laboratorio. La correttezza delle risposte all'esame scritto e/o orale e la corretta esecuzione della tesina concorreranno al voto finale.
Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.
Exam: Written test; Individual project; Group project;
The exam is composed by a written part normally of 80 minutes, in which it will be required to answer to questions, normally 5, for a provisional maximum mark of 25/30. If required by the teacher there will be an (additional) oral exam, to further verify the knowledge. It is required to book for the exam and to have an identity card during the exam. No computers, mobile phones or smartphone, books or notes will be allowed during the exam. A mandatory work, from one or more students together, is required, in order to create an application using the knowledge got during the course. Correctness of answers to written/oral exam and correct execution of the mandatory work will produce the final mark, up to 30L.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.
Esporta Word


© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
Contatti