parfor is not really speeding up the function.
14 次查看(过去 30 天)
显示 更早的评论
I am trying to speed up my code that is computing the max. coherence of each pair of rows insede of matrices A and B:
A = rand(1000, 100);
B = rand(4, 100);
fcmat = zeros(size(A,1), size(B,1));
for i = 1:size(A,1)
for j = 1:size(B,1)
c = mscohere(A(i,:),B(j,:));
fcmat(i,j) = max(c);
end
end
I have tried to use a simple parfor, but it runs in approximately same time as the non-parfor loop
B_n = size(B,1);
parfor (i = 1:size(A,1))
for j = 1:B_n
c = mscohere(A(i,:),B(j,:));
fcmat(i,j) = max(c);
end
end
Is there anything I have done (or probably have not done) that is causing this code to not run faster? Is there some other way/technique that could make this code run faster?
Thank you.
0 个评论
回答(1 个)
Ganesh Gudipati
2023-2-8
Hi Filip,
I could see some significant speed up in the code you provided after using parfor. Here are my observations
Thanks
Ganesh Gudipati
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!