我有大型数据文件,加载大约需要一分钟。然后大约需要一分钟的时间在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