Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Samur
0 / 0 / 0
Регистрация: 24.07.2013
Сообщений: 72
#1

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

27.07.2013, 23:41. Просмотров 314. Ответов 0
Метки нет (Все метки)

Здравствуйте форумчане! В общем такая беда, ниже в одной программе два метода сортировки массивов, и я захотел чтобы эти 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2013, 23:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос не выполняется параллельность на openmp (C++):

Параллельность в openMP - C++
Использую Visual Studio 2013. Проц - двухъядерный Intel E6550. omp_get_max_threads() возвращает 2, что логично, но прагма omp parallel...

OpenMP. Время выполнения программы больше чем без OpenMP - C++
Сегодня первый раз сел за OpenMP. Читаю на сайте майкрософта как работает этот API. Так вот там сказано:&quot;Директива #pragma omp for...

Правильно ли написана функция проверки на параллельность двух отрезков? - C++
Вот написал функцию проверки на параллельность двух отрезков bool prov_na_parallelnost(float x1,float y1,float x2,float y2,float x3,float...

Код не выполняется в одном месте, но выполняется в другом - C++
Вот код процедуры: LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; HDC hdc; ...

Дополнительно перегрузить логическую операторную функцию для операции | (побитовая дизъюнкция), определяющую параллельность двух отрезков - C++
Собственно все задание Разработать класс Line для работы с объектами типа отрезок. Члены-данные этого класса определяют координаты...

OpenMP - C++
есть код в общем виде... #pragma omp parallel for for (i = 0; i &lt; n; ++i) { temp = B; // обращаемся for (j = 0; j &lt; k; ++j)...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.07.2013, 23:41
Привет! Вот еще темы с ответами:

OpenMP - C++
#pragma omp parallel private(i) shared(j) { #pragma omp for for (j = 0; j &lt; n; j++) { for (i = 0; i &lt; m;...

Не работает openmp - C++
Написал простенькую программку с распараллеливанием собрал откомпилил, но распараллеливания нет. Программка выглядит так: ...

Многопоточность. OpenMP - C++
Друзья! Есть небольшая задача. У меня есть программка, которая выводит просто какой-либо текст сообразно количеству потоков на компьютере....

Программирование на OpenMP - C++
Такой вопрос, у меня есть прога, которая работает ~сутки, не буду вдаваться что и как она делает, мне посоветовали для быстроты...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru