Skip to content
Snippets Groups Projects
SumArrayGraph.m 1.01 KiB
function times = SumArrayGraph(sizes_rc,sizeItter,types,typeItter,numTrials)
    % times has size of image, cuda time, matlab time, cuda times faster,
    %   matlab over cuda
    % third dimension is type
    numItters = length(sizeItter)*length(typeItter);
    
    times = zeros(length(sizeItter),5,length(typeItter));
    prgs = Utils.CmdlnProgress(numItters,true,'SumArray');
    j = 0;
    for ty = typeItter
        for i = sizeItter            
            im = ones(2^sizes_rc(i),2^sizes_rc(i),2^(sizes_rc(i)-4),types{ty});
            times(i,1,ty) = numel(im);

            ts = zeros(numTrials,2);
            for j=1:numTrials
                [ts(j,1),ts(j,2)] = Performance.SumArray(im);
            end
            times(i,2:3,ty) = mean(ts,1);
            j = j +1;
            prgs.PrintProgress(j);
        end
    end
    prgs.ClearProgress(true);
    clear im
    times(:,4,:) = (times(:,2,:)./times(:,3,:))*100;
    times(:,5,:) = times(:,3,:)./times(:,2,:);

    Performance.PlotResults(times,'SumArray');
end