Programmazione di Processori Multicore

Introduzione

I processori multicore, che integrano più di una CPU su un unico chip, sono sempre più diffusi. In teoria, consentono di aumentare la potenza di elaborazione disponibile nella macchina aggirando le limitazioni tecnologiche (velocità di clock, dissipazione termica). In pratica, un programma seriale convenzionale, non potendo utilizzare più di una CPU, non può ottenere i vantaggi prestazionali promessi.

Scopo di questa attività complementare è di illustrare le potenzialità e i limiti dell'approccio, quali tecniche adoperare per rendere i codici più efficienti a parità di frequenza di clock, ed introdurre alcuni modelli di programmazione che permettono di suddividere le elaborazioni di un unico programma su più CPU, senza dover ricorrere esplicitamente a processi intercomunicanti o ai thread.

Programma

  • Motivazioni dell'uso di processori multicore
  • Codici efficienti: algoritmica ed implementazione
  • La gerarchia di memoria e come sfruttarla
  • Il compilatore ed il profiler
  • Ottimizzazione dei codici: costo delle operazioni, scrittura dei codici
  • Brevi richiami sui thread
  • Problemi della programmazione con thread che condividono la memoria
  • Parallelismo: approcci e valutazione delle prestazioni
  • Cenni sui linguaggi che supportano multithreading
  • OpenMP
  • Cilk concetti principali, cenni su Cilk++
  • CUDA e forse cenni su OpenCL

Materiale didattico

Progetto finale

Modalità di valutazione

Per conseguire i crediti previsti è necessario svolgere alcuni homework, di cui discuteremo insieme i risultati a lezione, e svolgere un progetto pratico.

Prerequisiti

Buona conoscenza del linguaggio C e padronanza dei concetti fondamentali dei sistemi operativi.

Prog_multicore Web Utilities

Topic attachments
I Attachment History Action Size Date Who Comment
Texttxt LINCOLN.TXT r1 manage 0.1 K 2008-03-13 - 23:13 FedericoMassaioli Lista di coordinate per il TSP
Edit | Attach | Watch | Print version | History: r24 < r23 < r22 < r21 < r20 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r24 - 2009-07-10 - FedericoMassaioli






 
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-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback