progaram hoge !$ use omp_lib !$ use another_module implicit none ... end program hoge
program hoge !$ use omp_lib !$OMP parallel default(none) private(j) !$ j=omp_get_num_threads() !$ write(*,*) j !$ j=omp_get_thread_num() !$ write(*,*) j !$ !$OMP end parallel end program hoge
program hoge !$ use omp_lib implicit none integer i,j,k !$OMP parallel default(none) private(j) !$OMP do do i=1,4 !$ j=omp_get_thread_num() !$ write(*,*) i,j end do !$OMP end do !$OMP end parallel end program hoge
program hoge !$ use omp_lib implicit none integer i,j,k k=-1 !$OMP parallel default(none) private(i,j)& !$OMP & shared(k) !$ i=omp_get_thread_num() !$ j=omp_get_num_threads() !$ write(*,*) i,j,k !$OMP end parallel end program hoge
!$OMP do do i=1,n do j=1,m 実行文 end do end do !$OMP end do
moduleなどで、グローバル変数を定義している場合に、thread間ではその変数を共有しないで欲しいときに。
module common implicit none real(8) a,b,c !$OMP threadprivate(a,b,c) end module common