Corsi tenuti da Giuseppe Levi
  • Home
  • Informatica per Fisici
    • Lezioni Video
    • Riferimenti Utili
    • Esempi discussi nel corso
    • Blog Lezioni
    • Trasparenze
    • Esami
  • Linguaggi Visuali
    • Blog Lezioni Fisica e LabView
  • CORSO HPC
    • Risorse utili
    • Blog Lezioni
    • Game of Life
    • Insieme Mandelbrot
    • Come lanciare un job sul cluster
  • Servizi Web Utili
  • Contatti
  • Appunti di Matematica Vedica Elementare

Lezione di Martedì 1 Marzo

2/3/2011

0 Comments

 
Abbiamo illustrato il programma generale del corso incentrato principalmente su:
Creazione di algoritmi paralleli,
Parallellizzazione in ambito multicore
Parallelizzazione in ambito cluster.
Si illustreranno prima di tutto gli ambiento standard OpenMP e MPI.

Primo esempio abbiamo parlato di un problema che incontriamo solo in ambito multicore noto come False Sharing ovvero il degradamento nelle prestazioni dovuto alla necessità di mantenere il contenuto delle cache coerente fra i diversi core quando questi modificano la stessa pagina di memoria senza per altro operare sulle stesse locazioni di memoria.
L'esempio illustrato a lezione usa la direttiva:
#pragma omp parallel shared( <var>, <var>,...) num_threads(<N>)
Per la creazione delle parti parallele e le funzioni:
omp_get_num_procs();
omp_get_thread_num();
omp_get_num_threads();

Per ottenere il numero di core disponibili, l'indice del thread e il numero totale di thread in esecuzione.

omp_get_wtime();

E' stata usata  per misurare il tempo impiegato dal programma.
COMPITO:Costruite voi un esempio ove rendete evidente questo problema.
Un buon articolo introduttivo a OpenMP:
http://msdn.microsoft.com/en-us/magazine/cc163717.aspx

0 Comments

    Author

    Giuseppe Levi
    Blog delle lezioni del corso di PPSD 2012.

    Archives

    January 2015
    May 2012
    April 2012
    March 2012
    May 2011
    April 2011
    March 2011

    Categories

    All
    Cluster
    Mpi
    Openmp

    RSS Feed

Powered by Create your own unique website with customizable templates.