PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   程式設計問題:暫存檔問題 (https://www.pcdvd.com.tw/showthread.php?t=1064703)

foxtm 2014-11-29 03:40 AM

引用:
作者commando001
現在計算用電腦是32G,所以目前開很大的虛擬記憶體給他吃(求解過程還要再複製2次矩陣),光是要記憶體的過程電腦就會卡到以為當機了 :stupefy:
另外現在就是矩陣建立完就丟進求解器了
有找到過寫入二進位檔的方法
但對二進位值能否保留矩陣形態有疑慮所以沒使用
我等下再來研究這個地方
另外這個矩陣不是稀疏矩陣
太晚了先不多說
由於你使用的也只是一般的PC,沒有專門的相量處理器之類的進行大量同步計算。
我會認為你可以嘗試把你的矩陣分頁化,記憶體中存放需要計算的部分,
其他的部分由另外的執行緒控管,進行載入或儲存的動作。
畢竟你一次能計算的部分有限。

stylus 2014-11-29 08:23 AM

應該沒哪麼複雜,當年在萬惡的640KB年代
小弟也是寫了一個2MB的矩陣運算
然後用Win3.1本身的Swap File來運算
大概半個小時就解決了


;)

LR2001 2014-11-29 10:36 AM

引用:
作者Adsmt
因為你的工作不算是對效能、資源限制要求很高的吧,例如 embedded system, 因為成本考量, 系統資源都是設計在最低限度。不要以為到處都幾GB RAM, 幾 TB storage space, 有些系統是用 "MB" 來計算的,如果你的 embedded system 只有32MB的RAM, 32MB 的 flash size, 這可不能讓你隨意揮霍系統資源的。

加RAM? 一個 embedded system 可能才賺 1美金,再加RAM就要脫褲子了,並不是說加就加的....

或遊戲或一些對效能、空間要求嚴格的應用程式,你的遊戲畫面沒比別人好,佔用RAM卻比別人大很多或 Frame rate 比別人低,玩家一定狂幹的啊,「最佳化都不會做,出什麼遊戲~~」之類。

還有你自己想出來的方法也是演算法了,不是書上寫的才叫演算法。
再者演算法只有好的和不好的,沒什麼活的死的,多看書才能知道更多的好的演算法,也有肋於自己想出更好的演算法。

:think:

有多少資源,做多少事,32MB or 32GB RAM只是交付平台的一種規格。
除非獲得新技術或不同以往的新概念,一般很少動到核心物件,而核心
物件與執行環境無關,僅需做到語言層級的最佳寫法。

一直以來,我以為只有高納德等大師級的書,才可稱演算法。
小弟只負責組裝、搭配基本演算法,書裡沒有再土法煉鋼,不敢稱演算法。

演算法只有效率上的差別,沒有分死活,但程式架構有,總不能 2C2T with 4GB RAM 跟
4C8T with 32GB RAM 的資料處理量相同吧? 可動態調整資料結構與更換處理方法,這樣
的程式架構,我覺得比較靈活,不死板,還很有動態連結函式庫的概念。


所有的時間均為GMT +8。 現在的時間是05:31 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。