Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаб. 2 ТПП

.docx
Скачиваний:
2
Добавлен:
29.12.2024
Размер:
554.19 Кб
Скачать

Лабораторная работа №2

Использование условий при определении параллельных фрагментов

Цель: изучить основные особенности использования условий при определении параллельных фрагментов в OpenMP на примере использования в рамках языка С++.

Задание:

#include <iostream>

#include <omp.h>

const int NMAX = 30;

const int LIMIT = 30;

using namespace std;

void main()

{

setlocale(LC_ALL, "Rus");

int i, j;

float sum;

float a[NMAX][NMAX];

for (i = 0; i < NMAX; i++)

for (j = 0; j < NMAX; j++)

a[i][j] = i + j;

double start_time = omp_get_wtime();

#pragma omp parallel shared(a) if (NMAX>LIMIT)

{

#pragma omp for private(i,j,sum)

for (i = 0; i < NMAX; i++)

{

sum = 0;

for (j = 0; j < NMAX; j++)

sum += a[i][j];

printf("Сумма элементов строки %d равна %f\n", i, sum);

}

} /* Завершение параллельного фрагмента */

double end_time = omp_get_wtime();

cout << "NMAX: " << NMAX << endl;

cout << "LIMIT: " << LIMIT << endl;

cout << "Время выполнения: " << (end_time - start_time) << " секунд" << endl;

}

Соседние файлы в предмете Технологии параллельного программирования