---+!! %MAKETEXT{"Programmazione di Processori Multicore" args="<nop>%WEB%"}% ---++ 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_ * [[http://www.openmp.org OpenMP]] * [[http://supertech.csail.mit.edu/cilk/ Cilk]] concetti principali, cenni su [[http://www.cilk.com Cilk++]] * CUDA e forse cenni su [[http://www.khronos.org/opencl/ OpenCL]] ---++ Materiale didattico * [[https://lists.inroma.roma.it/mailman/listinfo/multicore][Mailing list]] Iscrivetevi fornendo NOME e COGNOME * [[http://twiki.di.uniroma1.it/pub/Prog_multicore/WebHome/MultiCore08-09-1.pdf Slide della prima lezione]] * [[http://twiki.di.uniroma1.it/pub/Prog_multicore/WebHome/MultiCore08-09-2.pdf Slide della seconda lezione]] * [[http://twiki.di.uniroma1.it/pub/Prog_multicore/WebHome/MultiCore08-09-3.pdf Slide della terza lezione]] * [[http://twiki.di.uniroma1.it/pub/Prog_multicore/WebHome/MultiCore08-09-4.pdf Slide della quarta lezione]] * [[http://twiki.di.uniroma1.it/pub/Prog_multicore/WebHome/MultiCore08-09-5.pdf Slide della quinta lezione]] * Slide della sesta lezione, su concessione degli autori: * Cilk, slide di C. Leiserson, in formato PPT perché contengono animazioni (sullo stesso sito trovate anche i PDF): [[http://supertech.csail.mit.edu/cilk/lecture-1.ppt][Lecture 1]], [[http://supertech.csail.mit.edu/cilk/lecture-2.ppt][Lecture 2]], [[http://supertech.csail.mit.edu/cilk/lecture-3.ppt][Lecture 3]] * Cilk++, [[http://www.owlnet.rice.edu/~comp422/lecture-notes/comp422-Lecture5-Cilk++.pdf][slide di J. Mellor-Crummey]] * [[http://twiki.di.uniroma1.it/pub/Prog_multicore/WebHome/Hough.pdf Slide sulla Hough Transform]], rilevanti per il progetto finale ---++ Progetto finale * [[http://twiki.di.uniroma1.it/pub/Prog_multicore/WebHome/ProgettoPPMC09.tar.gz Progetto finale]] * [[http://twiki.di.uniroma1.it/pub/Prog_multicore/WebHome/file_doppler_band_1800 File di input n. 1]] * [[http://twiki.di.uniroma1.it/pub/Prog_multicore/WebHome/file_doppler_band_170 File di input n. 2]] * [[http://www.caspur.it/~massaif/PPMC/file_doppler_band_20][File di input n. 3]] ---++ 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. ---++ <nop>%WEB% Web Utilities <form action='%SCRIPTURLPATH{"search"}%/%WEB%/'> * <input type="text" name="search" size="22" /> <input type="submit" class="twikiSubmit" value="%MAKETEXT{"Search"}%" /> - [[WebSearchAdvanced][%MAKETEXT{"advanced search"}%]] * WebTopicList - all topics in alphabetical order * WebChanges - recent topic changes in this web * WebNotify - subscribe to an e-mail alert sent when topics change * WebRss, WebAtom - RSS and ATOM news feeds of topic changes * WebStatistics - listing popular topics and top contributors * WebPreferences - preferences of this web </form>
Attachments
Attachments
Topic attachments
I
Attachment
History
Action
Size
Date
Who
Comment
txt
LINCOLN.TXT
r1
manage
0.1 K
2008-03-13 - 23:13
FedericoMassaioli
Lista di coordinate per il TSP
This topic: Prog_multicore
>
WebHome
Topic revision: r24 - 2009-07-10 - FedericoMassaioli
Copyright © 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