[問題] 效率

看板Fortran作者 (sole)時間10年前 (2013/11/09 05:38), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/7 (看更多)
貼一部份程式碼,fortran90語法 do i=1,nx ; do j=1,ny ; do k=1,nz csum=sum(coeff(1:np)*cdexp)/Vol csumout(i,j,k)=csum end do ; end do ; end do 請問一下 由於資料量不算小 目前測試 nx=ny=nz=47, np=23000 上面貼的部份是需要最久計算的部份 普通執行需要約兩分鐘(測試用參數) 若是把第三行去掉 則可以10秒內結束 可是我就是要把這個資料輸出 才用了一個三維 ARRAY 把資料存起來 然後離開這個 LOOP 後再寫出 如果把 WRITE 寫在 LOOP 內 則情況會更糟 請問有什麼方法可以處理這窘境 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 80.98.198.158

11/10 16:15, , 1F
卡在I/O,把程式丟到ramdisk裡跑看看,當然ramdisk要夠大
11/10 16:15, 1F

11/10 21:23, , 2F
其實還有一種可能 你換一台ram很大的電腦跑看看
11/10 21:23, 2F

11/10 21:23, , 3F
有可能是你電腦的ram不夠用
11/10 21:23, 3F

11/10 21:24, , 4F
不然就是那個三維的矩陣透過動態方式建立在釋放看看
11/10 21:24, 4F
文章代碼(AID): #1IVLdgKO (Fortran)
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
問題
0
8
完整討論串 (本文為第 1 之 7 篇):
問題
1
4
問題
0
8
問題
3
28
問題
問題
0
11
問題
0
3
文章代碼(AID): #1IVLdgKO (Fortran)