Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/wikka.php on line 315
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/libs/Wakka.class.php on line 176
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/libs/Wakka.class.php on line 463
Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/demetres/public_html/didattica/ae/wikka.php on line 120
This is an old revision of
HomePage from 2014-05-28 22:09:22.
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/safehtml.php on line 308
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 159
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 161
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 162
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 163
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 165
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 166
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 167
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 243
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 250
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 259
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 266
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 273
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 280
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 467
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 469
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 471
Informazioni generali
Le lezioni vengono tenute nel periodo compreso tra il 24 febbraio e il 31 maggio 2013.
- Orario: lunedì 10:15-13:30 in aula 29 della sede di Via Eudossiana 18 e mercoledì 10:15-11:45 in aula B2 della sede di Via Ariosto 25
- Docente: Camil Demetrescu∞
- Ricevimento studenti: mercoledì 9:00-10:15 durante il corso, poi su appuntamento (si prega di prenotarsi in ogni caso scrivendo una email al docente)
- More computing sins are committed in the name of efficiency (without necessarily achieving it) than any other single reason - including blind stupidity.
- —Bill Wulf
Contesto e obiettivi
I moderni sistemi di calcolo forniscono una grande potenza computazionale frutto di una notevole complessità architetturale. Sfruttare anche in parte questa potenza è una sfida che richiede una conoscenza interna dell'hardware, una comprensione profonda degli algoritmi alla base delle computazioni, e una buona dose di creatività per ottenere implementazioni che utilizzino in modo ottimale le risorse di calcolo disponibili. La ricompensa che si ha nell'investire su queste competenze è la capacità di scrivere programmi in grado di processare grandi quantità di dati più efficientemente anche di vari ordini di grandezza rispetto alle tecniche di programmazione convenzionali, acquisendo alcune delle capacità di base per confrontarsi con la sfida del big data computing che sta rivoluzionando il modo in cui si sviluppano i moderni sistemi software.
Dopo un'ampia introduzione al linguaggio C, il corso affronterà come i costrutti di alto livello si mappano su codice assembly x64-64 e come il programmatore può sfruttare tecnologie come cache e pipeline per estrarre il massimo delle prestazioni dalla macchina, imparando a conoscere quali ottimizzazioni sono fatte automaticamente dai compilatori e quali invece vanno effettuate esplicitamente nel codice. Verrà inoltre mostrato come gestire la memoria in modo efficiente, studiando in particolare il funzionamento degli allocatori dinamici di memoria. Il corso verrà completato da un'introduzione alla programmazione parallela sfruttando le schede grafiche GPU come strumento di calcolo general-purpose. Lo studente verrà introdotto all'uso di vari tool come profiler e debugger.
Prerequisiti
Conoscenza di almeno un linguaggio di programmazione procedurale/orientato agli oggetti. Tecniche di programmazione. Architetture dei calcolatori elettronici. Algoritmi e strutture dati.
[
A.A. 2009-2010 |
A.A. 2010-2011 |
A.A. 2011-2012 |
A.A. 2012-2013 ]