Май 2018

AVX2 speedup

На одном и том же CPU (i7-7700k на базовых частотах), переход с SSE3 на AVX2 дает выигрыш, если по отдельным кускам:

  • Half-демозаика + ББ + цветовая конверсия + тоновая кривая, запись RGB bitmap: 1.97/1.11 sec (SSE/AVX)
  • Half-демозаика + ББ + цветовая конверсия + построение гистограммы: 2.11/1.483
  • Чтение raw-данных (int16), преборазование в float, вычитание черного, построение RAW-гистограммы: 1.78/1.72. Гистограмма - это очень медленно.....

Тестовый набор: 22 файла Sony A7RM2, т.е. ~900Mpix в сумме. Чиселки - CPU time (не wall time, потому что мультитрединг).

Общий выигрыш на всю программу - не больше 10 процентов, потому что уперлись теперь в видеодрайвер (генерация мипмепов, загрузка текстур в видеокарту), все спинлоки - тама.  Надо более продвинутый OpenGL использовать.

 

О размножении сущностей....

Вот возьмем, к примеру, какой-то софт, который хочет работать с RAW.

Базовая функциональность: целочисленный байер из камеры (черный вычтен камерой/не вычтен).

Размножаем сущности раз: просто байер, X-Trans, Super-CCD, полноцветный (3 цвета /sRAW/), BW.

На этом сущности, которые вылезают из камер кончаются, всего - 10 вариантов (даже 9, полноцветные из камеры - вроде везде вычтен черный).

Идем дальше, потому что есть всякие спец-случаи, вылезающие из полуобработанных RAW (HDR и так далее):

  1. Floating point вообще (независимо от цвета: байер, X-Trans, BW,
  2. ...

МГТС/GPON + статический адрес = no IPv6

Хозяйке на заметку: если у МГТС включить статический адрес, то отваливается IPv6.

После всех праздников - попробую таки вступить в сношение с их технарями...