canUseParallelPool

Проверьте, что параллельные функции могут использовать параллельный пул

    Синтаксис

    Описание

    пример

    tf = canUseParallelPool() возвращает логическое значение, указывающее, могут ли параллельные функции создать и использовать параллельный пул.

    Функция возвращает логический 1 TRUE) если Parallel Computing Toolbox™ устанавливается и лицензируется для использования, параллельный пул по умолчанию сконфигурирован и поддержан, и автоматическое создание параллельных пулов включено. В противном случае функция возвращает логический 0 ложь). Эта функция не создает параллельный пул.

    Использование 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