并行执行函数的时间

时间:2016-05-08 18:47:29

标签: matlab function timer parallel-processing try-catch

我目前正致力于并行计时功能,作为时序阈值,可应用于主功能。需要最长的运行时间。达到阈值后,主函数将中断并进入下一个循环。 我最初的想法是从另一个独立函数调用timer,以便可以实现并行函数。但它没有这样做。

function timeStop()
time = cputime;
time = cputime-time;
a = timer;
set (a, 'executionMode', 'fixedRate')
set (a,'timerfcn','disp(time)')
start(a)
timeStop = time;
end

然后调用此timeStop

function fucx()
for i = 1:3
    for j = 1:3
        for k = 1:3
            try
                %MainFuc()

                timeStop
                if (timeStop>60) % in seconds
                    disp('RunOutOfTime: Program terminated');
                    stop(a)
                    break;
                end;

            catch
                %%Err()
            end
        end
     end
end
end

这是MainFunc()中模型设置,研究和解决方案的大量集合,没有循环。我在考虑直接将tic/toc函数放入MainFuc()。但我不确定MATLAB内部是否会以我想要的方式工作。因为我不知道MainFunc()中的无限时间被困在哪一步或代码行。如果没有并行确定,我不能简单地用tic/toc函数。

我考虑过使用tic/toc,但有人告诉我,内部MATLAB只会知道完全执行MainFuc()后的运行时间。我不确定这是否属实,但发现在不同位置具有相似含义的帖子。

0 个答案:

没有答案