2017-02-09 8 views
-1

Я компилирую версию сообщества tbb intel tbb2017_20161128oss. При компиляции он запускает несколько тестовых примеров. в одном из тестовых случаев он дает мне предупреждение ./test_global_control.exe
TBB Предупреждение: количество работников в настоящее время ограничено 0. Запрос на 1 работника игнорируется. Дальнейшие запросы на большее количество работников будут игнорироваться без изменений до тех пор, пока не будет изменен лимит.сборник и тестирование intel tbb

Что означает это предупреждение для моей платформы? Должен ли я воздерживаться от использования определенных компонентов ITBB?

+3

Если вы спросите о какой-то конкретной платформе, это поможет рассказать, на какой платформе вы говорите. Это можно сделать из команды, которую вы используете (поскольку она заканчивается на '.exe'), но затем вы используете'./', Что редко встречается на платформах с программами с' .exe'. –

+0

Я бегу на Linux bash shell ptompt – user2020871

ответ

1

Обычно для тестов TBB вы можете игнорировать предупреждения во время выполнения, начиная с «предупреждения TBB». Как правило, эти предупреждения должны сообщать программистам, что они могут использовать TBB не оптимально или неправильно. Однако в тестах библиотека используется очень сложными способами, поэтому иногда выдаются предупреждения.

Это конкретное предупреждение сообщает, что программа сначала ограничила количество рабочих потоков, разрешенных для использования, а затем пытается запросить больше работников, чем позволяет ограничение. Для теста важно проверить правильность поведения в таких случаях; но предупреждение находится вне его контроля.

В реальных приложениях эти предупреждения могут помочь диагностировать неожиданные ситуации, и поэтому их нельзя игнорировать.

+0

Спасибо за ответ. – user2020871

+0

Но моя забота: почему число работников ограничено нулем. Если я не ошибаюсь, то одним из параметров для решения No of work является количество аппаратных потоков (ядер), которые имеет система. Я собираю ITBB на машине, которая имеет 4 потока, но показывает число рабочих как ноль. Таким образом, мой запрос отсутствует во время компиляции или он просто во время теста, библиотека ITBB не может получить ресурсы из-за других запущенных приложений. – user2020871

+1

Существуют классы TBB для явного контроля над количеством используемых работников, в частности класса tbb :: global_control. Тест использует его для предотвращения использования рабочих потоков для тестирования. Поэтому не беспокойтесь об этом. –