After parallelizing the code, time is increasing compared to serial code. How to optimize the code further parallely for time reduction
Show older comments
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 Comment
Jan
on 27 Apr 2017
What about pre-allocating tempImg?
Answers (0)
Categories
Find more on Optimization Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!