我正在使用parfor在matlab中並行化一個循環。代碼如下:在matlab中使用parfor時出錯
parfor i = 1:15
tmp{i,1} = theta(i) * Fw{i,1}' * var1 * Wi{i,1} * var2 * Fw{i,1} ;
end
FW,Wi是包含矩陣的單元。 var1,var2是矩陣。 Theta是一個矢量。
當我執行此代碼matlab永遠掛起,經過很長時間,當我終止代碼它顯示以下錯誤。
警告:評估偵聽器回調時發生錯誤。使用主要(線58)
致
在主在58 錯誤:使用distcomp.remoteparfor/getCompleteIntervals
錯誤當我執行而不PARFOR代碼,它工作正常。下面
Fw = cell(15,1); Wi = cell(15,1); tmp = cell(15,1); for i = 1 : 15 Fw{i,1} = randn(25344); Wi{i,1} = randn(12672); theta(i) = 10; end var1 = randn(25344,12672); var2 = randn(12672,25344); parfor i = 1:15 tmp{i,1} = theta(i) * Fw{i,1}' * var1 * Wi{i,1} * var2 * Fw{i,1} ; end
該方法是我期望您的客戶阻止等待結果從工人回來的地方。你有我們可以嘗試的再生產步驟嗎?你正在運行什麼版本的MATLAB?您使用的是什麼羣集類型?你打開了多大的matlabpool? – Edric
我使用的matlab版本是8.2.0.701(R2013b)。 Matlabpool包含12名工作人員 – gopi
好的。你有沒有可以嘗試的複製品? – Edric