簡體   English   中英

如何減少在MATLAB中進行大型計算所需的時間

[英]How to reduce time taken for large calculations in MATLAB

在我的大學中使用台式機(RAM為4Gb)時,Matlab中的計算速度相當快,但是在我的筆記本電腦(其中也有4Gb RAM)中,完全相同的計算會花費很多時間。 我的筆記本電腦更現代,因此我認為它的時鍾速度也與台式機相似。

例如,我編寫了一個程序,該程序計算500個點上50個磁盤對着的立體角。 在台式機上,此計算大約需要15秒,而在筆記本電腦上,大約需要5分鍾。

有沒有一種方法可以減少執行這些計算所需的時間? 例如,可以將更多的內存分配給MATLAB,還是可以通過優化PC的方式來啟動PC以使用MATLAB? 我在想,如果我的筆記本電腦上的處理器也在進行計算以運行其他程序,這將會減慢MATLAB的計算速度。 我已經關閉了所有其他應用程序,但是我知道可能發生了很多看不見的事情。 我能否以一種在后台進行較少操作的方式啟動筆記本電腦?

我無法修改代碼以使其更高效。

謝謝!

您可以運行我的一些基准測試,以及示例結果,可通過以下方式找到:

http://www.roylongbottom.org.uk/

在特定時間點使用的CPU內核在奔騰,賽揚,Core 2s,至強和其他處理器上相同。 唯一的區別是L2 / L3緩存大小和外部存儲器總線速度。 因此,您可以將大多數結果與類似的老式2 GHz CPU進行比較。 除了簡單的數字運算測試外,還可以嘗試一些事情。

1-嘗試進行內存測試,例如我的BusSpeed,以顯示正在使用緩存並且RAM不會變慢。

2-假設使用Windows,請在“任務管理器”中檢查有問題的程序是使用最多CPU時間的程序,並且在程序未運行的情況下,檢查CPU利用率是否約為零。

3-檢查CPU溫度是否不太高,例如使用SpeedFan(免費D / L)。

4-如果磁盤指示燈閃爍,則可能使用了過多的RAM,其中一些正在進出。 任務管理器性能將顯示這一點。 可以通過一些可靠性測試來檢查對RAM需求的增加。

除了RAM之外,還有許多其他因素涉及計算能力。 您提到了處理器速度,但也有內核數量,GPU功能等等。 MATLAB之類的程序旨在利用並行性等功能。

簡介:您不能只比較兩台計算機之間的RAM,而希望知道它們在彼此之間的性能如何。

旁注:4 GB對於現代筆記本電腦來說不是太多RAM。

首先,您應該在兩台計算機上執行CPU性能基准測試。

在筆記本電腦上運行時,現代操作系統通常會采用最激進的電源管理方案。 這通常意味着關閉一個或多個內核,或將它們設置為非常低的頻率。 例如,一個正常運行於2.0 GHz的四核CPU可以在一個CPU上降低至700 MHz,而其他三個基本上在電池供電時進入睡眠狀態。 (備注。數字並非來自真實示例。)

操作系統以動態方式管理CPU頻率,以秒為單位進行調整。 您將需要一個軟件監控工具,該工具實際上每秒查詢一次CPU頻率(本身無需進行繁重的工作),以了解是否是這種情況。

插入筆記本電腦將使操作系統使用不太激進的電源管理方案。

(如果發現與MATLAB無關,請“標記”此帖子,並請主持人將此問題移至SuperUser網站。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM