@Maiker

Как в opencv достигается такая скорость работы?

Столкнулся с тем, что функции из opencv для изображений работают очень быстро. Но какой-то внятной (какой-то вообще) информации о реализации не нашёл. Быть может, кто-то знает как это достигается?
  • Вопрос задан
  • 307 просмотров
Решения вопроса 2
gbg
@gbg
Любые ответы на любые вопросы
Потому что он написан не на бидоне, а на C, с использованием SIMD инструкций.
Ответ написан
@rPman
opencv это библиотека, использующая вычисления на видеокартах, используя Opnecl

Opencl тут не виноват, причина высокой скорости GPU - ОГРОМНОЕ (десятки для дешевых и тысячи для дорогих) дубовых и от этого энергноэффективных проецессоров, каждый из которых подключен к своему независимому блоку оперативной памяти (там многоуровневая система, по разному организовано у amd/nvidia/intel). И еще, работа кода на этих процессорах ограничена одним правилом - выполняется только один код сразу на всех, это дополнительно позволяет сэкономить энергию и место на чипе.

Если код без ветвлений, он сможет быть запущен на пиксельных конвеерах а работа с памятью линейна - это какраз те самые тысячи параллельных процессов будут загружены максимально оптимально.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы