After parallelizing the code, time is increasing compared to serial code. How to optimize the code further parallely for time reduction
古いコメントを表示
gaussianPyramid1 = genPyr(normaizedWeightmap1,'gauss',5); gaussianPyramid2 = genPyr(normaizedWeightmap2,'gauss',5);
tic for i = 1 : 5
tempImg = [];
parpool('local',3)
parfor j = 1 : size(im,3)
laplacianPyramid1 = genPyr(firstInput(:,:,j),'laplace',5); %Generating Laplacian Pyramid for derrived inputs
laplacianPyramid2 = genPyr(secondInput(:,:,j),'laplace',5);
rowSize = min([size(laplacianPyramid1{i},1),size(laplacianPyramid2{i},1),size(gaussianPyramid1{i},1),size(gaussianPyramid2{i},1)]);
columnSize = min([size(laplacianPyramid1{i},2),size(laplacianPyramid2{i},2),size(gaussianPyramid1{i},2),size(gaussianPyramid2{i},2)]);
tempImg(:,:,j) = laplacianPyramid1{i}(1:rowSize , 1:columnSize) .* gaussianPyramid1{i}(1:rowSize, 1:columnSize) + laplacianPyramid2{i}(1:rowSize, 1:columnSize) .* gaussianPyramid2{i}(1:rowSize, 1:columnSize);
end
fusedPyramid1{i} = tempImg;
end
toc
1 件のコメント
Jan
2017 年 4 月 27 日
What about pre-allocating tempImg?
回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Parallel for-Loops (parfor) についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!