program main implicit none * Remove the following line if you are using Omni. include 'omp_lib.h' integer i_am, k, v(0:4) data v / -1, -1, -1, -1, -1 / * Max number of procs and threads. print*, "num_procs = ", omp_get_num_procs() print*, "max_threads = ", omp_get_max_threads() * I have given the following unix-command: * setenv OMP_NUM_THREADS 10 (4 is enough). * Set no. of threads dynamically. call omp_set_num_threads(4) * A parallel section. *$OMP parallel private(i_am) shared(v) *$OMP single print*, "num_threads = ", omp_get_num_threads() *$OMP end single i_am = omp_get_thread_num() v(i_am) = i_am *$OMP end parallel print*, "v = ", v * A parallel do-loop. *$OMP parallel do private(k) shared(v) do k = 0, 4 v(k) = k * k end do *$OMP end parallel do print*, "v = ", v end