Задание: Гамильтонов цик
Часть 1. Разработайте переборный алгоритм для задания с целью выполнения на многопроцессорном (многоядерном) компьютере. Рекомендуется выполнить распараллеливание таким образом, чтобы синхронизация потоков не потребовалась или была минимальной.
Язык: С+
Использовать технологию OpenMP
Напишите программу, реализующую данный алгоритм. Протестируйте её работу для данных различного размера на компьютере, имеющем не менее 4 процессоров (ядер), используя 1, 2, …, 8 потоков выполнения
Часть 2. Модифицируйте разработанную в первом задании программу для возможности распределённого выполнения на вычислительном кластере. При этом должна сохраниться возможность её многопоточного выполнения на каждом узле кластера
Использовать технологию MPI
Протестируйте работу программы на кластере с разным числом узлов (минимум 2 узла, рекомендуется 4).