courses:high_performance_computing:tbb_flow_graph
Flow graph
Реализовать с использованием графовой модели вычислений следующую задачу, разбив её на чати и обеспечив максимальную потенциальную утилизацию ресурсов (изображение == матрица MxN):
- На вход подаются генерированные случайным образом изображения
- Различные алгоритмы ищут || на изображении:
- Набор максимальных элементов (максимальная яркость)
- Набор минимальных элементов (минимальная яркость)
- Набор элементов, равных заданному в командной строке значению (0-255)
- По результатам предыдущего шага на избражении выделяются все найденные элементы (например, квадрат с максимальной яркостью вокруг точки)
- Результат предудущего шага передаётся на:
- Расчёт обратного изображения (инверсия яркости)
- Расчёт средней яркости изображения
- Результат расчёта средней яркости выводится в файл в произвольном формате, если указан соответствующий флаг запуска приолжения
- Результат расчёта обратного изображения никуда не идёт
Предполагается использовать:
- broadcast_node
- join_node
- function_node
- limiter_node
- …
Приложение принимает в качестве параметров:
- “-b 123”: интересующее значение яркости, для шага № 2
- “-l 5”: предел одновременно обрабатываемых приложением изображений
- “-f log.txt”: имя файла журнала яркостей
Адекватные модификации задания (периодический вывод текущего изображения в консоль после расчёта обратного, работа с реальными изображениями и более реальными операциями…) допускаются. При наличии у студента задач, подходящих для применения flow graph - по согласованию через почту можно реализовать их вместо стандартного задания.
Оганичения на язык: имеющий framework, поддерживающий графовую модель вычислений, аналогичную Intel TBB Flow Graph
courses/high_performance_computing/tbb_flow_graph.txt · Last modified: 2016/11/11 07:15 by kel