Форум программистов, компьютерный форум CyberForum.ru

не выполняется параллельность на openmp - C++

Восстановить пароль Регистрация
 
Samur
0 / 0 / 0
Регистрация: 24.07.2013
Сообщений: 70
27.07.2013, 23:41     не выполняется параллельность на openmp #1
Здравствуйте форумчане! В общем такая беда, ниже в одной программе два метода сортировки массивов, и я захотел чтобы эти 2 метода выполнялись параллельно и применил параметр sections, но как видно по времени выполнения проги результат один и тот же по сравнению с последовательным. Помогите разобраться в чем дело

#include <stdlib.h>
#include <time.h>
#include <iostream>
#include <stdio.h>
#include <process.h>
#include <windows.h>
#include <omp.h>
using namespace std;
int main ()
{
int i, j, chislo,nom,n,s,x,flag,l;

printf("Vvedite razmernost massiva\n");
cin>>n;
int * mas=(int*)malloc(n*sizeof(int));
int * arr=(int*)malloc(n*sizeof(int));
for (i = 0; i<n; i++)
arr[i]=rand()%100;

for (l = 0; l<n; l++)
mas[l]=rand()%100;


double start_time,end_time;
start_time = omp_get_wtime();
#pragma omp parallel sections shared(arr,mas) private(i,j,l)
{
#pragma omp section
for (i=0; i<n; i++)
{
chislo=arr[i]; nom=i;
for (j=i+1;j<n;j++)
{
if (arr[j]>arr[nom])
nom=j;
}
if (nom!=i)
{
arr[i]=arr[nom];
arr[nom]=chislo;
}
}

// ВТОРОЙ МЕТОД
#pragma omp section
for (; {
flag = 0;
for (l = 0; l<n; l++){
if (mas[l] < mas[l-1]) {
swap (mas[l],mas[l-1]);
flag++;
}
}
if (flag == 0) break;

}
}

end_time = omp_get_wtime();

printf("vremya na zamer vremeni = %lf\n", end_time-start_time);
system("PAUSE");
free(arr);
free(mas);
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2013, 23:41     не выполняется параллельность на openmp
Посмотрите здесь:

подскажите правильно ли я написал функцию проверки на параллельность двух отрезков C++
C++ Код не выполняется в одном месте, но выполняется в другом
C++ Дополнительно перегрузить логическую операторную функцию для операции | (побитовая дизъюнкция), определяющую параллельность двух отрезков
C++ OpenMP
OpenMP C++
Параллельность в openMP C++
Технологии OpenMP C++
C++ Программирование на OpenMP

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 04:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru