2012-06-29 25 views

回答

0

當您啓動使用Parallel Computing Toolbox中的matlabpool命令工人,每個工人進程啓動相同的 - 他們基本上是一個普通的MATLAB程序,但沒有桌面可見。當你在它們上面創建數組時,它們會消耗內存。例如,在下列情況下,每個工人使用的相同內存容量來存儲x

spmd 
    x = zeros(1000); 
end 

但在下列情況下,每個工人消耗不同數量的內存來存儲的x其副本:

spmd 
    x = zeros(100 * labindex); 
end 
+0

@Eric - 謝謝。但是你知道分配內存的最終限制嗎?當我創建數組時,它們會消耗內存。但是,如果我創建了非常大的陣列,並將它們分配給每個實驗室工作人員,那麼限制在哪裏?我嘗試了8個實驗室工作人員的代碼,併爲每個實驗室工作人員分配了5個巨大的大型數組,並且內部RAM被填充並且程序停滯。然而,當分佈在4個實驗室工作人員身上時,相同的陣列可以輕鬆處理它我有16GB的內部RAM,當我創建實驗室工作人員時,每個工人都被分配一定數量。我想知道多少。 – Benny