英特尔至强融核 (KNL) 上的 Matlab parpool

计算科学 matlab 并行计算
2021-12-15 03:28:47

我正在尝试在具有 68 个物理内核的 Xeon Phi 节点上运行我的 matlab 脚本。使用parpool,我分配了 16 个内核来启用带有parfor循环的 SMD 并行化。脚本看起来像这样。

parpool('local',16)
parfor i=1:N
    foo
end

当我在 Intel Xeon Phi 处理器(使用 MIC 架构)上运行脚本时,每个 MATLAB 任务仅使用 6.5% 的 CPU。当我在另一台装有 Intel Xeon 处理器(20 核)的机器上运行时没有问题。我怎样才能最大限度地利用我的计算资源?

1个回答

parpoolMatlab 并行计算工具箱的一部分。根据2015 年讨论和有关 Matlab2016a的讨论,并行计算工具箱不支持英特尔至强融核。但是,当时只有基于 KNC 架构的 Intel Xeon Phis 可用(仅允许协处理器操作模式)。

我也无法在当前 (R2018a) 文档中找到提及英特尔至强融核的内容。

虽然 KNL 架构是朝着“独立 CPU”迈出的一大步(与 KNC 相比),但我猜 Parallel Computing Toolbox 可能仍然无法充分使用它。