! Fortran 95 PROGRAM hello use omp_lib ! omp_get_thread_num, omp_get_num_threads ! Serial Region (master thread) ! Parameters of the Application CHARACTER(30) name INTEGER, PARAMETER :: high=8 REAL (KIND=high) x ! Fortran 95 ! OpenMP Parameters INTEGER id, nthreads ! Master thread obtains information about itself and its environment. nthreads = omp_get_num_threads() ! get number of threads id = omp_get_thread_num() ! get thread CALL getenv("HOST",name) ! get run-host name WRITE (*,*) 'SERIAL REGION: Runhost:', name, ' Thread:', id, ' of ', nthreads, ' thread hello, world' ! Open parallel region. ! Each thread obtains information about itself and its environment. !$OMP PARALLEL PRIVATE(name,id,nthreads) nthreads = omp_get_num_threads() ! get number of threads id = omp_get_thread_num() ! get thread CALL getenv("HOST",name) ! get run-host name WRITE (*,*) 'PARALLEL REGION: Runhost:', name, ' Thread:', id, ' of ', nthreads, ' threads hello, world' !$OMP END PARALLEL ! Close parallel region. ! Serial Region (master thread) WRITE (*,*) 'SERIAL REGION: Runhost:', name, ' Thread:', id, ' of ', nthreads, ' thread hello, world' END PROGRAM hello