hello all i have the following part of my code: parpool(8);
tm00=tic;
parfor i=1:1:size(sss0,2)
maxflows((sss0{1,i}(1,:)),(sss0{1,i}(2,:)),(sss0{1,i}(3,:)),source,sink);
end
tm01=toc(tm00)
the variable sss0 is a cell array represents a graph in each cell, i am using parallel to speed up the computation, i want to compute the maximum flow for each graph from source to sink. maxflows is a function that i was create it to adjust parameter then use maxflow built in function to calculate it. when i use 8 workers i get longer time from using 1 worker
any suggestions

답변 (1개)

Matt J
Matt J 2018년 4월 2일
편집: Matt J 2018년 4월 4일

0 개 추천

Typically, this is because the processing task is too simple to make the costs of parallelizing the execution worthwhile. If maxflows is doing very little work, for example, the cost of broadcasting the data to the parallel workers could dominate whatever maxflows is doing.

댓글 수: 5

abdullah alzaqebah
abdullah alzaqebah 2018년 4월 4일
thanks Matt i tried to minimize number of clusters to make each cluster contains more data i have cell array contains 4 elements (arrays) 1- 3*99681 2- 3*258840 3- 3*29646 4- 3*4465 when i run it on single worker it takes 6.8319 when i run it on 4 workers it takes 5.9299 ????
abdullah alzaqebah
abdullah alzaqebah 2018년 4월 4일
편집: abdullah alzaqebah 2018년 4월 4일
yes sure i am using it for research issues and am increasing the data in each time to show the gained speed up. when i increase the data the single worker takes 304.5714 on 4 workers it takes 287.7831 which means 1.06 speed up
Matt J
Matt J 2018년 4월 4일
편집: Matt J 2018년 4월 4일
How many loop iterations are you doing in the 304 sec. case? To get a benefit from parfor, you need to keep the amount of data you send to each worker small, but do a large amount of computation with it once it is there.
abdullah alzaqebah
abdullah alzaqebah 2018년 4월 4일
i use the built in function maxflow in the matlab
abdullah alzaqebah
abdullah alzaqebah 2018년 4월 4일
this is the maxflow code
https://www.mathworks.com/matlabcentral/fileexchange/65167-ford-fulkerson-algorithm-for-max-flow-problem

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Parallel for-Loops (parfor)에 대해 자세히 알아보기

질문:

2018년 4월 2일

댓글:

2018년 4월 4일

Community Treasure Hunt

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

Start Hunting!

Translated by