omp_hello.c revision 1.1.1.1
1/****************************************************************************** 2* FILE: omp_hello.c 3* DESCRIPTION: 4* OpenMP Example - Hello World - C/C++ Version 5* In this simple example, the master thread forks a parallel region. 6* All threads in the team obtain their unique thread number and print it. 7* The master thread only prints the total number of threads. Two OpenMP 8* library routines are used to obtain the number of threads and each 9* thread's number. 10* AUTHOR: Blaise Barney 5/99 11* LAST REVISED: 04/06/05 12******************************************************************************/ 13#include <omp.h> 14#include <stdio.h> 15#include <stdlib.h> 16 17int main (int argc, char *argv[]) { 18 19int nthreads, tid; 20 21/* Fork a team of threads giving them their own copies of variables */ 22#pragma omp parallel private(nthreads, tid) 23 { 24 25 /* Obtain thread number */ 26 tid = omp_get_thread_num(); 27 printf("Hello World from thread = %d\n", tid); 28 29 /* Only master thread does this */ 30 if (tid == 0) 31 { 32 nthreads = omp_get_num_threads(); 33 printf("Number of threads = %d\n", nthreads); 34 } 35 36 } /* All threads join master thread and disband */ 37 38 return 0; 39} 40