OpenCV 2.2 и многопроцессорные системы. Является ли opencv_haartraining.exe многопоточным? - PullRequest
4 голосов
/ 01 марта 2011

Я собрал OpenCV 2.2 на VS 2010. Включена поддержка TBB 3. Я гарантировал, что у всех проектов были правильные каталоги tbb lib, и tbb.lib перечислен как зависимость.

Подтвердил это, спрятав tbb.dll - конечно, haartraining.exe пожаловался, что это нужно.

Хорошо, мой вопрос. Я использую большой тренировочный набор на 16-ядерном компьютере, и haartraining привязывает только один из процессоров, остальные 15 не работают.

Что я делаю не так? Я не вижу никаких флагов на exe для запуска MP.

Еще один вопрос - я тоже включил IPP. Это статически связано, верно (имеется в виду, что мне не нужно устанавливать IPP на ящик, на котором я запускаю это?)? Я предполагаю, что это должно быть иначе, это не будет работать.

Спасибо!

edit: две другие части информации: 1) Диспетчер задач говорит, что opencv_haartraining.exe имеет только 1 поток. 2) это 32-разрядная сборка, работающая на 64-разрядной версии Windows XP

1 Ответ

1 голос
/ 01 марта 2011

Если построен с TBB, то TBB.dll нужен - это не значит, что конкретная функция использует TBB.

Чтобы увидеть, какие функции включены TBB, вам нужно посмотреть код или следовать минутам opencV - например, http://pr.willowgarage.com/wiki/OpenCVMeetingNotes/Minutes%202010-03-30

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...