Skip to content

Task2 parallel#2

Open
DaryaNechaeva wants to merge 32 commits into
mainfrom
task2-parallel
Open

Task2 parallel#2
DaryaNechaeva wants to merge 32 commits into
mainfrom
task2-parallel

Conversation

@DaryaNechaeva
Copy link
Copy Markdown
Collaborator

Описание

  • Реализовано параллельное применение к RGB-изображениям с использованием OpenMP.
  • Стратегии распараллеливания: построчная (rows), постолбцовая (cols), попиксельная (pixels), блочная (tiles).
  • Обработка границ: циклическое замыкание (wrap-around).
  • Поддерживаемые форматы: BMP, PNG, JPEG (загрузка и сохранение через stb_image/stb_image_write).
  • Доступные фильтры: identity, blur, gaussian, sharpen, edges, emboss.
  • Размеры ядер: 3×3, 5×5, 7×7, 9×9. Выбор осуществляется через CLI с суффиксами, по умолчанию 3×3 (например, --filter gaussian, --filter edges9).

Тестирование

  • Корректность параллелизма: сравнение результатов всех параллельных стратегий с последовательной версией на рандомизированных данных.

Анализ производительности

  • Методика: 50 измерений + 5 прогревочных вызовов для каждой комбинации (стратегия × потоки 1/2/4/8).
  • Тестовые данные: синтетические детерминированные изображения 512×512 и 1024×1024 (3 канала), фильтр gaussian5.
  • Метрики: среднее время, мин/макс, стандартное отклонение, ускорение (speedup) относительно последовательной версии.
  • Результаты: подробные таблицы, графики масштабирования и анализ в benchmarks/README.md.

Сборка и использование

  • Сборка: make
  • Запуск тестов: make test
  • Запуск бенчмарков: make benchresults/bench.csv
  • Базовое применение: ./conv input.png output.jpg --filter gaussian
  • Параллельный запуск: ./conv photo.bmp result.png --filter edges7 --strategy rows
  • Справка: ./conv -h

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