!-------------------------------------------------------!
! The current code has three purposes:                  !
! (1) a simple parallel region.                         !  
! (2) private and shared variables.                     !
!-------------------------------------------------------!
! Xiaoxu Guan at LSU HPC.                               !
! March 07, 2016                                        !
!-------------------------------------------------------!

      program hello_world
      implicit none
      integer ::  id,omp_get_thread_num, omp_get_num_procs,noprocs

!$omp parallel private(id,noprocs)
      id = omp_get_thread_num()
      noprocs = omp_get_num_procs()
      write(*,'(1x,a,i3,2x,i3)') "Hello World! from ", id, noprocs
!$omp end parallel

      end program hello_world
