如何为稀疏矩阵编写并行代码

时间:2014-07-28 11:16:16

标签: matlab parallel-processing sparse-matrix

我有稀疏矩阵乘法的顺序代码。如何为稀疏矩阵的并行处理编写相同的代码?

%%sequential%%

A=[ 0 2 3;0 1 0;0 0 3 ];
[row col v] = find(A);
S(:,1)=row; S(:,2)=col; S(:,3)=v;
S_A = S; clear S;

B=[ 0 0 7;0 8 0;0 9 6 ];
[row col v] = find(B);
S(:,1)=row; S(:,2)=col; S(:,3)=v;
S_B = S;
a = sparse(A);
b = sparse(B);

k3=1;
tic
for i=1:size(S_A,1)
    for j=1:size(S_B,1)
        if S_A(i,2)== S_B(j,1)
            S_ans(k3,3) = S_A(i,3)*S_B(j,3);
            S_ans(k3,1)=S_A(i,1); S_ans(k3,2)=S_B(j,2);
             k3=k3+1; 
        end;
    end;
end;
time1=toc

我想在Matlab中并行运行矩阵乘法代码。我已经为它编写了顺序代码。我的目标是通过并行运行代码来减少执行时间我是否这样做? 谢谢

0 个答案:

没有答案