看板 Fortran 關於我們 聯絡資訊
請教各位版友,最近對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
YCTzeng:pgf95 -openmp test.f90 好像是這樣? 09/03 20:45
achen0504:編譯沒設定好吧 09/18 17:36
skiedeager: 你這個貌似沒有手動設定執行緒數量,所以CPU使用率才 03/10 16:24
skiedeager: 會偏低 03/10 16:25