Распараллеливание С Ипользованием Openmp

  • Автор темы Shperung
  • Дата начала
S

Shperung

#1
Коректно ли я все сделал ? Время роботы программы с распараллеливанием дольше на 1 сек чем без распараллеливания, ожидалось наоборот .

C++:
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#include <omp.h>
using namespace std;

int main()
{
srand(time(NULL));
int heilth= 1000;
int width = 40;
double start_time,end_time,time;
int a[1000][40];
int i,j;

start_time = omp_get_wtime();
#pragma omp parallel for private(i,j)\
shared (a)

for ( i = 0; i<heilth;++i)
{
for( j=0; j<width; j++)
{
a[i][j] = 0+rand()%10;
cout<<a[i][j]<<" ";
}
cout<<endl<<endl;
}
cout<<endl<<endl;
int sum =0;
int collNum = 0;
cout<<endl<<endl;
cout<<"--------Matrix "<<heilth<<" x "<<width<<"--------"<<endl<<endl;


collNum = 0+rand()%width - 1;

for (int i = 1; i<heilth;i=i+2)

sum+= a[i][collNum];


cout<<endl<<"Sum of even numbers on the placement of elements "<<collNum<<" coll = "<<sum<<endl;

end_time = omp_get_wtime();

cout<<endl<<endl;
time=end_time-start_time;

cout <<"Time= "<<time;

getch();


return 0;
}