Advance Member
|
聽說最近幾個月matlab會出新版支援winxp 64位元,目前支援matlab 64位元的還是beta版本
不過Linux目前已經有支援64位元的版本出現,記憶體管理似乎比windows好(不確定)
運算既然是很大的矩陣相乘,那大概可以估算一下需要多大的記憶體
一般double的矩陣一個element是8 bytes
而32位元的作業系統最多定址到4G,如同前面網友所說,windows會保留一半給作業系統使用
因此你的matlab最多只能2G,而matlab啟動後再載入一些相關的dll有的沒有的
大概也只剩下1.XG可以使用,以小弟的經驗通常是1.5G左右,也許更多一點啦,
此外win server版本可以讓matlab使用多1G的記憶體(希望沒記錯啦,因為現在改用64位元的)
當程式運行的時候,可能會把某個矩陣作運算然後再另存為其他矩陣,
在這種情況下你剩下的1.5G可能又要折半,不過這個問題熟析程式之後就可以寫得更好一點
故以最壞的打算來看,在32位元下單一矩陣作多也只能800MB左右,這樣大概就知道可以存多大的矩陣.
所以記憶體大概配2G就夠了,mem table也沒辦法swap更多給實體記憶體
另外如果有多的錢可以用i-ram做虛擬記體,效果一定很好,
matlab說他們有一套機制可以讓比較不常使用的資料swap給虛擬記憶體
所以計算過程中常常要在phy<->virtual中交換,因此虛擬記憶體愈快愈好
|