| 11 | 1/1 | 返回列表 |
| 查看: 4138 | 回復: 10 | |||
[交流]
【求助】請問如何解決insufficient virtual memory
|
|||
|
最近寫了一個程序,里面用了一個大的三維數(shù)組p(8800,758,5000),但是在運行時出現(xiàn)了這個錯誤insufficient virtual memory。我在網上查,說這個錯誤是虛擬內存不夠,但是沒找到解決方法,請大家指點? program get_projection implicit none integer i,j,k integer,allocatable::p(:,:, ![]() allocate(p(8800,758,5000)) p=0 do i=1,8800 do j=1,758 do k=1,5000 if(i==j.and.j==k) then p(i,j,k)=1 write(*,*)'test',p,i,j,k endif enddo enddo enddo end |
» 搶金幣啦!回帖就可以得到:
+2/126
+1/84
+1/63
+5/60
+1/45
+1/33
+1/33
+1/31
+1/31
+1/19
+1/14
+1/12
+1/11
+1/8
+1/8
+1/8
+1/4
+1/3
+1/2
+1/1
|
不會fortran,網上搜到: WinNT/9x上運行的Visual Fortran動態(tài)內存分配受一些因素的限制,包括交換文件的大小和其它同時運行的應用程序所需的內存大小。如果動態(tài)分配的內存太大或試圖使用其它應用程序的保護內存會產生一般內存保護錯誤。碰到這類問題可以通過控制面板來改變虛擬內存的大小或交換文件的大小,還有一些編程技術可以降低內存需要。 虛擬內存的調整: 右擊“我的電腦”,屬性->高級->“性能”設置->高級->這個時候就能看到虛擬內存更改了 [ Last edited by sudo on 2011-3-22 at 08:48 ] |
|
我的想法是:有兩組數(shù),第一組是a1,a2----a30000,第二組b1,b2---b800分別存在數(shù)組A,B中,一共5000步的循環(huán)。假如第一步時,數(shù)組A中的數(shù)與數(shù)組B中的數(shù)是否滿足一定的條件condition,如果滿足,就檢查在之后循環(huán)中這種關系是否仍然存在,如果存在就用一個函數(shù)標記。其實我要實現(xiàn)的就是找出這個標記函數(shù)。我用了一個三維數(shù)組h標記,程序如下: h=0 do istep=1,5000 do i=1,30000 do j=1,800 if(a(i)*b(j)==1) then h(j,i,istep)=1 endif enddo enddo enddo 現(xiàn)在的問題是這個三維數(shù)組h太大,應該怎樣寫這個程序才能實現(xiàn)我的想法。 |
|
不知道fortran有沒有位運算......你那個標記僅僅是0和1的話,用一個整型數(shù)存儲實在是太浪費了.... 另外,你可以預先估計一下h是不是稀疏矩陣..... 呃,其實從你程序的片段中看不出來那個step起到了什么作用,也沒看出你之后想如何處理h(h的信息有什么用?) --------------------------------------------------------- 以上都是技巧上的建議,但,在算法上改進一小步,你的程序就進步一大步,最終的解決之道還是得找好算法 |
|
我已經把i,j,istep都輸出到文件了,但是我需要計算相關函數(shù),也就是說如果第一步出現(xiàn)120,,30,istep(分別對應i,j,istep),看看在istep=2,3,4-----3000時是否依然存在,所以我就將這種存在關系寫在了三位矩陣h(i,j,istep)中,因為在后面的程序中,我使用了h作為判斷條件,下面的程序就是我想要做的,應該如何該,才能避免使用這個大的三位數(shù)組h?? h=0 open (10,file='test.out') do i=1,99999999 read(10,*,end=2,err=2) istep,ia,ib h(istep,ia,ib)=1 enddo 2 continue close(10) do ia=1,30000 do ib=1,800 do istep=1,5000 h(istep)=h(istep,ia,ib) enddo do ntel=1,nsteps if(h(ntel)/=0) then 進行后面的程序 ----------------- endif enddo enddo enddo |

| 11 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 總分293求調劑 +4 | 加一一九 2026-03-25 | 4/200 |
|
|---|---|---|---|---|
|
[考研] 303求調劑 +6 | 元夕元 2026-03-20 | 7/350 |
|
|
[考研] B區(qū)考研調劑 +4 | yqdszhdap- 2026-03-22 | 5/250 |
|
|
[考研] 化工專碩求調劑 +3 | question挽風 2026-03-24 | 3/150 |
|
|
[考研] 306求0703調劑一志愿華中師范 +10 | 紙魚ly 2026-03-21 | 11/550 |
|
|
[考研] 335分 | 材料與化工專碩 | GPA 4.07 | 有科研經歷 +4 | cccchenso 2026-03-23 | 4/200 |
|
|
[考研] 材料/農業(yè)專業(yè),07/08開頭均可,過線就行 +3 | 呵唔哦豁 2026-03-23 | 4/200 |
|
|
[考研] 328求調劑 +4 | LHHL66 2026-03-23 | 4/200 |
|
|
[考研] 263求調劑 +6 | yqdszhdap- 2026-03-22 | 9/450 |
|
|
[考研]
|
酥酥魚.. 2026-03-21 | 4/200 |
|
|
[考研] 319求調劑 +4 | 小力氣珂珂 2026-03-20 | 4/200 |
|
|
[考研] 275求調劑 +6 | shansx 2026-03-22 | 8/400 |
|
|
[考研] 求調劑 +7 | Auroracx 2026-03-22 | 7/350 |
|
|
[考研] 考研調劑 +3 | 呼呼?~+123456 2026-03-21 | 3/150 |
|
|
[考研]
|
Grand777 2026-03-21 | 3/150 |
|
|
[考研] 一志愿南昌大學,327分,材料與化工085600 +9 | Ncdx123456 2026-03-19 | 9/450 |
|
|
[考研] 308求調劑 +3 | 阿姐阿姐家啊 2026-03-18 | 3/150 |
|
|
[考研] 一志愿蘇州大學材料求調劑,總分315(英一) +5 | sbdksD 2026-03-19 | 5/250 |
|
|
[考研] 261求B區(qū)調劑,科研經歷豐富 +3 | 牛奶很忙 2026-03-20 | 4/200 |
|
|
[考研] 本科鄭州大學物理學院,一志愿華科070200學碩,346求調劑 +4 | 我不是一根蔥 2026-03-18 | 4/200 |
|