Напишем что0-нибудь типа
int lm;
#pragma omp parallel for private(lm)
for(i = 0; i < maxI; i++)
{
MyRead(&lm);
}
здесь функция MyRead читает в lm. Прототип MyRead(int *arg).
Так вот, возникает подозрение, что эта конструкция работать будет некорректно, т.к. адрес приватной переменной определяется неверно.
Т.е. лучше
int lm[N_];
#pragma omp parallel for
for(i = 0; i < maxI; i++)
{
s_ = omp_get_thread_num();
MyRead(lm+s_);
}
где N_ - число процессов
вторник, 11 мая 2010 г.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий