about parfor with reading from cell array ????

2 次查看(过去 30 天)
hello everyone i use the following code to do some operation (maxflow) for each element of cell array, each element contains 3*n array which represent a graph. the achieved speed up is not logical any suggestions? the code :
---------------------------------------------
parpool(4);
c = parallel.pool.Constant(sss0);
tm00=tic;
parfor i=1:1:size(sss0,2)
maxflows((c.Value{1,i}(1,:)),(c.Value{1,i}(2,:)),(c.Value{1,i}(3,:)),source,sink);
end
tm01=toc(tm00)
  4 个评论
abdullah alzaqebah
abdullah alzaqebah 2018-4-15
source and sink represnt the source node and the target node in the graph which already inside the array but pass it to construct the graph inside the function
abdullah alzaqebah
abdullah alzaqebah 2018-4-15
sss0 contains 4 cells
1- 3*210
2- 3* 2628
3- 3*389403
4- 3*406
time taken on one worker is 24.2647
time taken on 4 workers is 21.9487
which is not logical!

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Parallel Computing Fundamentals 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by