Programmazione parallela con OpenMP

Published on ottobre 28, 2011 by   ·   No Comments

Mi piace
+1
Tweet

OpenMPOpenMP è una specifica API che consente l’esecuzione parallela di task secondo il modello a memoria condivisa. Questo consente di creare programmi che implementano la programmazione parallela da poter eseguire sia nei cluster, se usato in combinazione di MPI, sia su normali computer desktop. I linguaggi supportati sono CC++ e Fortran.

In concreto OpenMP è implementata come estensione di un compilatore, quindi è sufficiente aggiungere un opportuno parametro al comando di compilazione: ad esempio, nelle ultime versioni di GCC il parametro è -fopenmp. OpenMP non necessita di librerie esterne, i comandi vengono forniti sotto forma di commenti speciali. Una caratteristica estremamente utile, se si vuole utilizzare lo stesso codice senza imporre un’esecuzione parallela.

Un classico esempio, per questo genere di programmazione, è la parallelizzazione dei cicli: il comando è #pragma omp parallel for. Sono inoltre disponibili diversi metodi di sincronizzazione per sezioni critiche, variabili condivise e race condition: critical, atomic, ordered, barrier e nowait. Inoltre si può specificare il numero di thread da console, in fase di compilazione, con la variabile d’ambiente OMP_NUM_THREADS=n°thread.

OpenMP dispone di una lunga esperienza come standard (la prima versione è del 1998) e di un consorzio composto da nomi di tutto rispetto come Intel, AMD, Fujitsu, Oracle e molti altri. C’è una sola “pecca” degna di nota, a mio parere: non può essere utilizzata per le GPU. Una lacuna che si spera venga colmata presto.

Via | Linux Journal

Programmazione parallela con OpenMP é stato pubblicato su Ossblog.it alle 13:00 di giovedì 27 ottobre 2011.

Leggi l’articolo originale su www.ossblog.it

Leggi tutti gli articoli della sezione Open Source e Free Software

Licenza Creative Commons
This opera is licensed under a Creative Commons Attribuzione – Non commerciale 2.5 Italia License

Readers Comments (0)




Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.

Free WordPress Theme
Android
Arte & Comics
Citizen News
Creative Commons
Ecologia
Gruppi di Acquisto Solidali
Mobile Music Apps
Musica
Open Source e Free Software
Videogiochi
Once Were Rebels
Weboy