2010-03-22 5 views
4

Я недавно использовал openCV, и я поражен тем, насколько быстро он может обрабатывать массивы. Использует ли он специальный тип оптимизации или полагается на специальные функции процессора? Я нахожусь в процессоре Intel.Какое ускорение использует openCV? Как он может так быстро работать?

+0

Оказывается, что встроенные интеграционные перформансы Intel (IPP) являются дополнительной библиотекой, поэтому я предполагаю, что скорость обработки openCV - чисто программное обеспечение: агрессивная оптимизация. Любые детали будут приветствоваться. –

ответ

4

OpenCV использует Intel Integrated Performance Primitives под капотом. эта библиотека опирается на агрессивную оптимизацию, а также на тщательное использование специальных функций процессора (SSE, SSE2, ...)

+0

Спасибо Adrien. Таким образом, он будет работать медленнее на «эквивалентном», скажем, процессоре AMD? Или IPP также присутствует в других брендах процессоров? –

+0

Теоретически, AMD поддерживает те же функции, что и Intel, но Intel в прошлом не знала, что такие функции не будут обнаружены, если обнаружен чип AMD. Я не уверен, как это относится к этому продукту. – CookieOfFortune

+0

Примечание. OpenCV использует только примитивы производительности Intel, если вы выходите и загружаете их из intel и устанавливаете сами. openCV довольно быстр, даже без использования примитивов производительности, поэтому стоит проверить, не зависит ли ваша скорость от примитивов производительности. Используйте cvGetModuleInfo(); чтобы узнать, установлен ли у вас чип производительности Intel. – AndyL