作者dv6000 (dv6000)
看板Fortran
标题[请益] 使用OpenMP
时间Tue Sep 1 05:23:54 2009
请教各位版友,最近对OpenMP+fortran有点兴趣,
所以写一个小code试一下:
Program main
implicit none
parameter nmax=100
integer i,j,icount
real*8 dx,dy,t_old(0:nmax,0:nmax),t_new(0:nmax,0:nmax)
[略]
!$omp parallel
!$omp do
do j=1,nmax-1
do i=1,nmax-1
t_new(i,j)=0.25*(t_old(i-1,j)+t_old(i+1,j)+t_old(i,j-1)+t_old(i,j+1))
enddo
enddo
!$omp end parallel
[略]
我使用的Fortran是 PGI.Workstation.Server.v7.0.7
OS是 Winxp professional
我使用的CPU是双核的 Pentium CPU.
看了一些OpenMP的介绍,范例还有Fortran是 PGI.Workstation.Server的使用手册,
我这样写,这个loop似乎可以做到最简单的平行处理,
可是我查cpu使用率,总共还是只有50%,每一核用了25%,不是应该变100%???
我是不是弄错了什麽呢?
编译指令是 pgf95 test.f90
执行指令是 test.exe
谢谢大家的教导了.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 141.212.168.98
1F:推 YCTzeng:pgf95 -openmp test.f90 好像是这样? 09/03 20:45
2F:→ achen0504:编译没设定好吧 09/18 17:36
3F:推 skiedeager: 你这个貌似没有手动设定执行绪数量,所以CPU使用率才 03/10 16:24
4F:→ skiedeager: 会偏低 03/10 16:25