Хелпикс

Главная

Контакты

Случайная статья





Лабораторная работа №5.. Параллельное программирование на основе MPI. Операции над векторами. Инструкция к запуску и компиляции MPI-программы на кластере claster-sfu.krasn.ru.. Задачи (для «опытных»).



Лабораторная работа №5.

Параллельное программирование на основе MPI. Операции над векторами

ЦЕЛЬ РАБОТЫ: Знакомство с кластером. Компиляция и запуск программ на кластере

 

Инструкция к запуску и компиляции MPI-программы на кластере claster-sfu.krasn.ru.

  1. Зайдите на кластер под своим логином.
  2. Загрузите Midnight Commander командой mc
  3. Создайте папку для хранения программ клавишей F7, перейдите в созданную папку.
  4. Загрузите в созданную папку исходный код программы с помощью WinSCP или создайте новый файл в Midnight Commander, нажав Shift+F4 и отредактировав его в текстовом редакторе mc (переход в текстовый редактор F4)
  5. Наберите текст программы, выводящей сообщения (Hello, world!!) от процессов (пример из лекции 14). Для сохранения изменений в текстовом редакторе mc используйте F2.
  6. Для компиляции программы:
    1. Сверните панели mc (ctrl+o)
    2. Выполните компиляцию файла программы командой: mpicc –o <имя_объектного_файла> <имя_компилируемого_файла>. Или mpiСС –o <имя_объектного_файла> <имя_компилируемого_файла>..Если компиляция выполнена без ошибок, то в папке появится объектный файл (выделен зеленым цветом)
  7. Запустите программу на выполнение командой: mpirun –np <количество_процессов> -maxtime 1 <имя_объектного_файла>

 

 

Задачи (для «опытных»).

  1. Написать программу, которая передаёт некоторое число по кольцу: от процесса с рангом 0, на процесс 1, процесс 1 прибавляет к числу 1 и передаёт на процесс 2 и т.д. Полученное в результате число выводится на консоль процессом с рангом 0. Замерить время выполнения программы
  2. Составить параллельную программу подсчёта суммы нечётных элементов вектора. Замерить время выполнения программы. Использовать функции широковещательной рассылки и редукции. *Использовать функцию распределения данных MPI_Scatter(…) или MPI_Scatterv(…)

 

 

Для каждой задачи:

    1. Запустить программу с одной и той же размерностью вектора несколько раз на 2-х, 4-х, 8-ми, 16-ти и 32-х процессорах с фиксацией времени выполнения программы при каждом запуске.
    2. Построить в Excel график зависимости скорости выполнения программы от количества процессоров.
    3. Запустить программу несколько раз на 16 процессорах, изменяя размерность массива в несколько раз при каждом запуске. Зафиксировать время выполнения
    4. Построить в Excel график зависимости скорости выполнения программы от увеличения количества входных данных при одном и том же количестве процессоров

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.