我有一个数据集,其中包含大约 2000 个数字图像。我正在使用 MATLAB 执行一些数字图像处理以从图像中提取树木。该脚本当前配置为在n 个内核parfor
上循环处理图像。
挑战:
我可以在拥有大约 10,000 个计算核心的大学管理的超级计算机上获得处理时间。如果我提交整个作业进行处理,我会被放回任务队列中,台式计算机可以在超级计算机上开始处理之前完成作业。支持人员告诉我,将 2000 个文件数据集划分为约 100 个文件作业将显着减少任务队列时间。我可以使用什么方法使用parfor
循环并行执行任务,同时一次提交 100 个文件(2000 个)?
我的脚本结构如下:
datadir = 'C:\path\to\input\files'
files = dir(fullfile(datadir, '*.tif'));
fileIndex = find(~[files.isdir]);
parfor ix = 1:length(fileIndex)
% Perform the processing on each file;
end