2013-03-20 3 views
2

Я хочу написать параллельную программу для умножения матрицы в Matlab. Я пробовал с кодом ниже, но я не мог этого сделать. Я не хочу делать это с помощью графического процессора.Параллельная программа для умножения матрицы

A = pascal(3); 
B = magic(3); 
m = 3; n = 3; 
par for i = 1:m 
    for j = 1:n 
     C(i,j) = A(i,:)*B(:,j); 
    end 
end 

Как я могу выполнить параллелизацию вышеуказанного кода?

+0

Какая ошибка? – Dan

+1

Я мог бы расщепить волосы здесь, но что случилось с 'C = A * B'? –

+0

Также у вас есть панель инструментов параллельных вычислений и инициализирован пул работников и т. Д.? – Dan

ответ

1

Есть distributed arrays OK?

d = distributed.rand(1024); 
result = d * d; 

Заметим, что умножение матрицы на матрицу MATLAB является неявно многопоточный, и так будет быстрее, чем что-либо с помощью distributed или parfor, если у вас есть несколько машин, в вашем распоряжении (или GPU).

Смежные вопросы