Чому opencv не використовує всі ядра після оновлення до Mavericks?


3

Я запускаю команду з інтенсивним процесором на Mavericks (Opencv_traincasscade). Під гірським левом цей процес використовувався для використання всіх 8 ядер на всьому шляху. Проте після оновлення після короткого часу вона падає до 1 ядра.

enter image description here

Чи може це бути дрімота програми? Чи можу я щось зробити, щоб виправити це?

Відповіді:


7

Можливість використання декількох ядер або потоків залежить від процесу. Це не AppNap або OS X, що викликає зміну.

Ваш процес, opencv_traincascade, може бути обмежений ресурсом через кілька хвилин і, таким чином, зводиться до чергування завдань, коли він очікує доступу до диска або іншого обмеженого ресурсу.

У цьому випадку вам може знадобитися перейти на іншу збірку OpenCV:

Зауважимо, що додаток opencv_traincascade може використовувати TBB для багатопоточності. Для використання в багатоядерному режимі OpenCV має бути побудований з TBB.

Установка OpenCV з TBB через brew:

brew install opencv --with-tbb

Дякую вам за відповідь, я обов'язково дам, що йти. Однак, є 2 причини, чому я вважаю, що це не так. По-перше, CPU вдарив 800% протягом декількох хвилин, коли почалося, що припускало, що OpenCV здатний використовувати всі ядра. По-друге, я ніколи не стикався з цією проблемою на гірському леві (однак, я не можу бути на 100% впевнений, що це була та ж побудова). The -mode Параметр пов'язаний з обертанням виявлення ознак, а не ядрам.
Robert

Насправді я беру це назад! Ви були праві: D Я збираюся відповісти за повноту.
Robert

1

Грем Мілн був вірний - установка OpenCV була помилковою.

Щоб перевірити це :

otool -L /usr/local/lib/libopencv_core.2.4.9.dylib
# Look for libtbb.dylib in the response,
# if missing you need to reinstall with tbb.

Щоб виправити це (якщо ви встановили з доморощеним):

brew uninstall opencv
brew info opencv # This will tell you about other flags you might be interested in.
brew install opencv --with-tbb  # Simples! :)

1
Замість того, щоб бути окремою відповіддю, подумайте про додавання цього питання до свого запитання.
Graham Miln
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.