1  integer :: i, j
2  integer, dimension (10, 10) :: a
3!$omp parallel do default(none)proc_bind(master)shared(a)
4  do i = 1, 10
5    j = 4
6    do j = 1, 10
7      a(i, j) = i + j
8    end do
9    j = 8
10  end do
11!$omp end parallel do
12!$omp parallel proc_bind (close)
13!$omp parallel default(none) proc_bind (spread) firstprivate(a) private (i)
14  do i = 1, 10
15    a(i, i) = i
16  enddo
17!$omp end parallel
18!$omp endparallel
19end
20