Порядок выполнения:
1. На этапах Map и Merge все циклы с вызовами математических функций заменить их векторными аналогами из библиотеки «AMD Framewave».
2. В начале программы вызвать Framewave-функции SetNumThreads(M) для установки количества М создаваемых параллельной библиотекой нитей, задействуемых при выполнении распараллеленных Framewave-функций. Нужное число M следует устанавливать из параметра командной строки (argv) для удобства автоматизации экспериментов.
3. Скомпилировать программу, не применяя опции автоматического распараллеливания. Провести эксперименты с полученной программой при M = 1, 2, …, K, где K – количество процессоров (ядер) на экспериментальном стенде.
4. Написать отчёт о проделанной работе.
5. Подготовиться к устным вопросам на защите.
6. Исследовать параллельное ускорение для различных значений M > K, т.е. оценить накладные расходы при создании чрезмерного большого количества нитей. Для иллюстрации того, что программа действительно распараллелилась, привести график загрузки процессора (ядер) во время выполнения программы при N=N2 для всех использованных M. Для получения графика можно как написать скрипт, так и просто сделать скриншот диспетчера задач, указав на скриншоте моменты начала и окончания эксперимента (в отчёте нужно привести текст скрипта или название использованного диспетчера).
7. Используя закон Амдала, рассчитать коэффициент распараллеливания для всех экспериментов и привести его на графиках. Прокомментировать полученные результаты.