Skip to content

Task2 submission#2

Open
alken1t15 wants to merge 10 commits into
mainfrom
task2-submission
Open

Task2 submission#2
alken1t15 wants to merge 10 commits into
mainfrom
task2-submission

Conversation

@alken1t15
Copy link
Copy Markdown
Collaborator

Что сделано

Реализована параллельная обработка цветных RGB-изображений.

Основная логика:

  • последовательная версия оставлена как baseline;
  • добавлена параллельная свёртка;
  • добавлен параллельный median filter;
  • изображение обрабатывается по каналам R, G и B отдельно;
  • результат параллельной обработки совпадает с последовательной версией.

Добавлены стратегии параллелизации:

  • pixels — потоки берут пиксели через общий атомарный счётчик;
  • rows — изображение делится на горизонтальные полосы;
  • columns — изображение делится на вертикальные полосы;
  • grid — изображение делится на прямоугольные блоки.

Добавлен CLI:

  • apply-parallel для применения фильтра в несколько потоков;
  • benchmark-parallel для замера времени параллельной обработки;
  • выбор стратегии и количества потоков через аргументы командной строки.

Добавлены тесты:

  • параллельная свёртка совпадает с последовательной для всех стратегий;
  • параллельный median filter совпадает с последовательным для всех стратегий;
  • обработка работает при количестве потоков больше числа частей изображения.

Проведены эксперименты:

  • 4 изображения: 256x256, 512x512, 1024x1024, 2048x2048;
  • 4 фильтра: gaussian3, gaussian5, motion9, median5;
  • количество потоков: 1, 2, 4, 8;
  • отдельно сравнивались стратегии pixels, rows, columns, grid.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant