Matlab在parfor运行时异步读取大文件

时间:2019-06-13 18:07:35

标签: matlab asynchronous parallel-processing large-data

我有大型数据文件,加载大约需要一分钟。然后大约需要一分钟的时间在parfor循环中处理此数据。 有没有一种方法可以在parfor对先前数据执行其工作时异步读取文件。 我尝试使用parfeval,但是parfor循环引发有关SPMD锁定的错误,表明该工人忙。

编辑

我想要的基本上是以下伪matlab代码:

% start a file reading thread using a pollable queue
% read_files_async uses parfeval to read one file at a time
queue = read_files_async(files);

% analyze the data
for i in 1:length(files)
    data = queue(i);
    parfor j=1:length(data)
      % process the data
    end
    % by the time parfor is done queue will have next data ready
end

0 个答案:

没有答案