[COLOR=#0000ff]! Compile with OpenMP:[/color]
[COLOR=#0000ff]! gfortran armeros.f95 -o armeros -fopenmp[/color]
[COLOR=#a020f0]program[/color] test
[COLOR=#2e8b57][b]implicit[/b][/color] [COLOR=#2e8b57][b]none[/b][/color]
[COLOR=#2e8b57][b]integer[/b][/color] :: i,j,ii,k,l,threads,thread_id
[COLOR=#2e8b57][b]integer[/b][/color], [COLOR=#2e8b57][b]external[/b][/color] :: omp_get_num_threads, omp_get_thread_num
[COLOR=#804040][b]do[/b][/color] i[COLOR=#804040][b]=[/b][/color][COLOR=#ff00ff]1[/color],[COLOR=#ff00ff]250[/color]
[COLOR=#804040][b]do[/b][/color] j [COLOR=#804040][b]=[/b][/color] [COLOR=#ff00ff]1[/color],[COLOR=#ff00ff]250[/color]
[COLOR=#0000ff]!$OMP PARALLEL[/color]
threads [COLOR=#804040][b]=[/b][/color] omp_get_num_threads()
thread_id [COLOR=#804040][b]=[/b][/color] omp_get_thread_num() [COLOR=#804040][b]+[/b][/color] [COLOR=#ff00ff]1[/color]
[COLOR=#804040][b]do[/b][/color] ii[COLOR=#804040][b]=[/b][/color][COLOR=#ff00ff]1[/color],[COLOR=#ff00ff]2[/color]
[COLOR=#804040][b]do[/b][/color] k [COLOR=#804040][b]=[/b][/color] [COLOR=#ff00ff]1[/color],[COLOR=#ff00ff]250[/color]
[COLOR=#804040][b]do[/b][/color] l [COLOR=#804040][b]=[/b][/color] [COLOR=#ff00ff]1[/color],[COLOR=#ff00ff]250[/color]
[COLOR=#008080]call[/color] do_something(i,j,ii,k,l,thread_id,threads)
[COLOR=#804040][b]end do[/b][/color]
[COLOR=#804040][b]end do[/b][/color]
[COLOR=#804040][b]end do[/b][/color]
[COLOR=#0000ff]!$OMP END PARALLEL[/color]
[COLOR=#804040][b]end do[/b][/color]
[COLOR=#804040][b]end do[/b][/color]
[COLOR=#a020f0]end program[/color] test
[COLOR=#a020f0]subroutine[/color] do_something(i,j,ii,k,l,thread_id,threads)
[COLOR=#2e8b57][b]implicit[/b][/color] [COLOR=#2e8b57][b]none[/b][/color]
[COLOR=#2e8b57][b]integer[/b][/color] :: i,j,ii,k,l,thread_id,threads
[COLOR=#804040][b]write[/b][/color]([COLOR=#804040][b]*[/b][/color],[COLOR=#ff00ff]10[/color]) thread_id, threads,i,j,ii,k,l
[COLOR=#6a5acd]10[/color] [COLOR=#804040][b]format[/b][/color](i2,[COLOR=#ff00ff]'/'[/color],i2,[COLOR=#ff00ff]': (i,j,ii,k,l) = ('[/color],i3,[COLOR=#ff00ff]','[/color],i3,[COLOR=#ff00ff]','[/color],i3,[COLOR=#ff00ff]','[/color],i3,[COLOR=#ff00ff]','[/color],i3,[COLOR=#ff00ff]')'[/color])
[COLOR=#a020f0]end subroutine[/color] do_something