如何優化fortran程式,使之占用的記憶體減少?

時間 2021-06-01 12:02:44

1樓:

程式上一般就是動態分配記憶體,並及時釋放。主要手段在優化演算法上。

比如使用查詢表之類的方法壓縮冗餘的資料儲存,使用新的演算法等等。

對使用不頻繁的大量資料可以先寫入硬碟中。

但是記憶體占用和計算效率往往是矛盾的,需要綜合考量。

其實記憶體現在已經很便宜了,有時加大記憶體也是不錯的選擇。如果記憶體佔用量超過單機極限,演算法和資料具有並行性,可以考慮多機並行的分布式運算。

一些問題可以採用混合演算法,使用低記憶體使用的理論方法和高記憶體的占用的計算方法分別處理問題的不同部分。

2樓:

首先從演算法分析,把你需要的變數分成兩部分

要保留的和閱後即焚的

對那些用過之後就不在管的部分,建議使用動態分配使用完之後再釋放記憶體

如果計算規模實在過大,可以考慮從演算法上入手把大計算的問題轉換為多個小計算的問題

3樓:ztt123

fortran我沒有用過, 但一般來說,要記憶體小可以從下面幾點著手1. 首先要了解應用場景,分析哪種情況下可能會產生大量記憶體2. 再從資料結構上進行分析,避免重複進行記憶體的申請和釋放僅供參考

cuda程式該如何優化?

譚偉 多執行緒並行訪問乙個大陣列,matrix vector multiply就是這種型別的操作,方法是矩陣 被當作乙個大陣列 放global memory。因為沒有重用,所以你coalesced access global memory就可以,也只能如此。你的問題,似乎是 1 順序訪問乙個inde...

如何烤製竹子使之彎曲?

涼秋二十五 本人經驗 1 首先一定是新鮮的竹子,還沒有乾枯的竹子。2 用火烤,最好不要用明火烤,不好掌控溫度。3 考到什麼程度,在既不能損壞竹子本身的結構和韌性,又能使之彎曲矯直,本人給你大概的乙個參考,烤到有水分蒸發至表層,這層水分是有粘性的,即可開始矯直。不同竹子烤至的程度也不同,需要自己去摸索...

如何評價2023年的《魔法使光之美少女》?

壞心眼的願藏大人 公主入坑,追完了初代 smile 組曲,表示唯一一次流淚就是法q49話 沒有前面日常入水的鋪墊,最後的結局如何催淚呢 好像從法q起每一季的最後一集都是引出下一代q娃,所以50話你當作廣告看就好了 前兩天剛看完了法Q,衝著人設和聲優去的。前幾集介紹了理子是異世界人,以及低配版哈利波特...