Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод АТПО лр.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
561 Кб
Скачать

Включення і настройка mpi відладника в ms vs

Відладник Microsoft Visual Studio найкращим чином підходить для роботи з MS MPI – реалізації стандарту MPI 2 від Microsoft. Тому, якщо потрібно використовувати відладник Visual Studio, то необхідно встановити останню версію Microsoft Compute Cluster Pack SDK.

Для того, щоб дістати можливість відладжувати паралельні програми MPI, необхідно відповідним чином налаштувати Microsoft Visual Studio: виберіть пункт меню “Project->project Properties.” і потім у вікні настройок проекту, що відкрилося, виберіть пункт “Configuration Properties->Debugging”. Введіть наступні настройки:

У полі “Debugger to launch” виберіть “MPI Cluster Debugger”

У полі “MPIRun Command” введіть “mpiexec.exe” – ім'я програми, що використовується для запуску паралельної програми MPI.

У полі “MPIRun Argument” введіть аргументи програми “Mpiexec.exe”. Наприклад, введіть “-np <число процесів designtimesp=14365 designtimesp=14534 designtimesp=14654 designtimesp=14808 designtimesp=14954 designtimesp=15342 designtimesp=15466 designtimesp=15780 designtimesp=16557>” для вказівки числа процесів, які будуть відкриті.

У полі “Application Command” введіть шлях до виконуваного файлу програми.

У полі “Application Argument” введіть аргументи командного рядка програми, що запускається.

У полі “MPIShim Location” введіть шлях до “mpishim.exe” – спеціальної програми, що поставляється разом з Microsoft Visual Studio, що використовується для відладки віддалених програм.

Натисніть “OK” для збереження внесених змін.

Рисунок 2.1 − Вікно налаштування паралельної обробки даних у MS VS

Програма 'π': паралельне інтегрування по формулі трапецій

Розглянемо звичайне чисельне інтегрування за допомогою формули трапецій, причому підінтегральна функція і межі інтегрування вибираються так, щоб математично вірним результатом було число 'π'.

Інтеграл можна представити геометрично у вигляді площі під кривою. Звідси можна представити алгоритм наближеного обчислення значення інтеграла. Ділянка інтегрування розбивається на велике число відрізків. Кожен з відрізків стає основою прямокутника, висота якого дорівнює значенню підінтегральної функції в центрі даного відрізка. Наближене значення інтеграла дорівнює сумі площ всіх прямокутників.

Рисунок 2.2 − Розбиття області інтегрування на прямокутники

Інтегрування по формулі трапецій: кожна смужка відповідає "кроку" фіксованої ширини. Висота кожної смужки дорівнює значенню підінтегральної функції. Якщо з'єднати разом всі смужки, можна приблизно обчислити площу кривої, тобто значення інтеграла.

Можна вибрати підінтегральну функцію і межі інтегрування так, щоб значення інтеграла дорівнювало 'π'. Таким чином, перевірка правильності роботи програми стає простим завданням. Проста програма на мові C, що реалізовує цей алгоритм, виглядає таким чином:

static long num_steps = 100000;

double step;

void main ()

{

int i;

double x, pi, sum = 0.0;

step = 1.0/(double) num_steps;

for (i=0;i<= num_steps; i++){

x = (i+0.5)*step;

sum = sum + 4.0/(1.0+x*x);

}

pi = step * sum;

}