Задать вопрос
@Maiker

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

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

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

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

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

Похожие вопросы