Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2011, 17:22   #1
NastyaV
Пользователь
 
Регистрация: 29.09.2010
Сообщений: 30
Восклицание Расспаралелить цыкл

Вот код программы:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <pthread.h>
#define MAX_s 2048*1024*16
short *a, *b, *c;
void *task_1();
void *task_2();
int main(){
pthread_t Thread_1, Thread_2;
clock_t t[2];
int i;
t[0]=clock();
a=(short *)malloc(2*MAX_s);
b=(short*)malloc(2*MAX_s);
c=(short *)malloc(2*MAX_s);
srand(1);
pthread_create(&Thread_1,NULL,task_ 1,NULL);
pthread_create(&Thread_1,NULL,task_ 2,NULL);
t[1]=clock();
printf("%g sec\r\n",(double) (t[1]-t[0])/(double)CLOCKS_PER_SEC);
pthread_join(Thread_1,NULL);
pthread_join(Thread_2,NULL);
t[1]=clock();
printf("%g sec\r\n",(double) (t[1]-t[0])/(double)CLOCKS_PER_SEC);
for(i=0; i<MAX_s; i++)
c[i]=a[i]+b[i];
t[1]=clock();
printf("Hi: %d-",c[230]);
printf("%g sec\r\n",(double) (t[1]-t[0])/(double)CLOCKS_PER_SEC);
free(a);
free(b);
free(c);
return 0;
}
void *task_1()
{
int i;
clock_t t[2];
t[0]=clock();
for(i=0; i<MAX_s; i++)
a[i]=(short)rand()/2;
t[1]=clock();
printf("%d: %g sec\r\n",(int)pthread_self(),(doubl e)(t[1]-t[0])/(double)CLOCKS_PER_SEC);
}

void *task_2()
{
int i;
clock_t t[2];
t[0]=clock();
for(i=0; i<MAX_s; i++)
a[i]=(short)rand()/2;
t[1]=clock();
printf("%d: %g sec\r\n",(int)pthread_self(),(doubl e)(t[1]-t[0])/(double)CLOCKS_PER_SEC);
}


Задание:
1) Нужно расспарелелить цыкл.
2) Расспаралелить с помощью Openmp.
3) Обьяснить каждую струку в коде,что она делает.

Помогите пожалуйста!!!
NastyaV вне форума Ответить с цитированием
Старый 23.03.2011, 18:12   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

фриланс ниже
p51x вне форума Ответить с цитированием
Старый 23.03.2011, 19:35   #3
NastyaV
Пользователь
 
Регистрация: 29.09.2010
Сообщений: 30
По умолчанию

Просто подскажыте что в представленую програму дописать.
NastyaV вне форума Ответить с цитированием
Старый 24.03.2011, 11:31   #4
NastyaV
Пользователь
 
Регистрация: 29.09.2010
Сообщений: 30
По умолчанию

Если не сложно, обясните строки кода пожалуйста. Очень нада
NastyaV вне форума Ответить с цитированием
Старый 24.03.2011, 19:53   #5
NastyaV
Пользователь
 
Регистрация: 29.09.2010
Сообщений: 30
По умолчанию

ХЕЛЛП НАДА НА ЗАВТРА!!!
NastyaV вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задачи:простейшие циклы,цыкл и разветвление,обработка последственности цыкла Chibi Помощь студентам 12 22.11.2010 19:57
цыкл не работает... Natok Помощь студентам 9 28.05.2009 11:54