06 octombrie 2010

Exemplu simplu de algoritm paralel

compilarea se face: gcc -fopenmp sursa.c -o sursa

#include "mp.h"  
void main ()  {  
int nthreads, tid;  
/* Fork a team of threads with each thread having a private tid variable */ 
#pragma omp parallel private(tid)   {    
  /* Obtain and print thread id */   
  tid = omp_get_thread_num();   
  printf("Hello World from thread = %d\n", tid);    
  /* Only master thread does this */    
  if (tid == 0)      {     
    nthreads = omp_get_num_threads();     
    printf("Number of threads = %d\n", nthreads);     
  }    
  }  /* All threads join master thread and terminate */  
}

Niciun comentariu: