OpenMP: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Integro |
m integro |
||
Riga 10:
''OpenMP '' è un implementazione del concetto di [[Thread (informatica)|multithreading]] ovvero di un metodo di parallelizzazione per cui un ''master thread'' (una serie di istruzioni eseguite consecutivamente) crea un certo numero di ''slave thread'' ed un task (processo) è diviso tra i vari ''slave thread''. I thread vengono eseguiti in modo concorrente mentre il [[Run-time system]] alloca i thread su processori disponibili.
La sezione di codice che si intende eseguire in parallelo viene marcata attraverso una apposita [[Direttiva (programmazione)|direttiva]] che causa la creazione dei thread prima della esecuzione.
Ogni thread è identificato tramite un id che può essere ottenuto tramite la funzione omp_get_thread_num(). Tale valore è di tipo intero e per il master thread vale 0. Al termine della esecuzione del codice parallelizzato gli slave thread ritornano il controllo al master thread il quale continua l'esecuzione fino al termine del programma.
==Note==
|