Main Content

canUseParallelPool

验证并行函数可以使用并行池

自 R2020b 起

    说明

    tf = canUseParallelPool() 返回逻辑值,指示并行函数是否可以创建和使用并行池。

    如果 Parallel Computing Toolbox™ 已安装并已获得许可,已配置并支持默认并行池,并且启用了自动创建并行池,则该函数返回逻辑值 1 (true)。否则,该函数返回逻辑值 0 (false)。此函数不会创建并行池。

    使用 canUseParallelPool 检查并行函数(如 parfor (Parallel Computing Toolbox)parfeval (Parallel Computing Toolbox))是否可以使用并行池。这使您能够避免在并行池不可用时执行需要并行池的代码。

    即使此函数返回 true,如果您的并行集群配置不正确或无法联系并行池,当您尝试创建并行池时,仍然会收到错误。

    示例

    示例

    全部折叠

    在执行以并行方式运行的代码之前,请验证您可以使用并行池。如果池不可用,请以串行方式运行代码。

    N=100;
    
    if canUseParallelPool
        f(1:N) = parallel.FevalFuture;
        for i = 1:N
            f(i) = parfeval(@rank,1,magic(i));
        end
        results = fetchOutputs(f);
    else
        results = zeros(1,N);
        for i = 1:N
            results(i) = rank(magic(i));
        end
    end

    如果 canUseParallelPool 返回 true,则 parfeval 会创建一个并行池并且代码以并行方式运行。否则,代码将以正常的 for 循环形式运行。

    版本历史记录

    在 R2020b 中推出

    另请参阅

    | (Parallel Computing Toolbox)

    主题