作者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