使用并行池时如何处理Matlab许可证错误

问题描述 投票:0回答:1

我正在尝试运行依赖于Statistics_Toolbox许可证的第3方工具箱(效果大小测量(MES)工具箱)。如果没有“经典”for 循环,计算就不会出现任何错误;但每当我在并行 for 循环中运行计算时,我都会收到以下错误:

Error using ncpci
tinv requires a Statistics_Toolbox license.

我已使用

ver
命令和
license('test', 'Statistics_Toolbox')
命令确认了Statistics_Toolbox许可证的存在。 这是 Matlab 中并行池的预期行为吗?

我正在运行 Ubuntu 22.04 的计算机上运行 MATLAB 版本:9.12.0.1884302 (R2022a)。

matlab parfor
1个回答
0
投票

MATLAB 在使用 PCT 及其功能时可以做到这一点,例如并行 for 循环。

确保每个工作人员都可以使用统计工具箱许可证。在运行并行代码之前显式设置并行工作人员的许可。例如:

Matlab

    % Explicitly set up licensing for parallel workers
parpool('local', numWorkers);  % numWorkers is the number of parallel workers you want

% Now, run your parallel code
parfor i = 1:numIterations
    % Your parallel computation here
end

% Close the parallel pool when you're done
delete(gcp);

检查工具箱兼容性。如果不完全兼容,可能会导致这种意外的行为。

检查 MATLAB R2022a 是否有可解决此问题的更新、补丁或修补程序。

如果其他方法均失败,请联系 MathWorks 支持寻求帮助。

欢迎来到 Stackoverflow,希望这个答案对您有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.