Главная /
Параллельное программирование с OpenMP /
Найдите ошибку в следующем фрагменте программы: int i=0; int numt = omp_get_max_threads(); #pragma omp parallel default (none) private (i) { #pragma omp for for(i=0; i< numt; i++) Work(i); }
Найдите ошибку в следующем фрагменте программы:
int i=0;
int numt = omp_get_max_threads();
#pragma omp parallel default (none) private (i)
{
#pragma omp for
for(i=0; i< numt; i++) Work(i);
}
вопрос
Правильный ответ:
не описан класс для переменной
numt
. Необходимо добавить спецификацию shared(numt)
не описан класс для переменной numt. Необходимо добавить спецификацию
private(numt)
в данном фрагменте программы ошибки нет
Сложность вопроса
87
Сложность курса: Параллельное программирование с OpenMP
28
Оценить вопрос
Комментарии:
Аноним
Большое спасибо за подсказками по интуит.
16 май 2016
Аноним
Если бы не данные ответы - я бы не решил c этими тестами intuit.
05 янв 2016
Другие ответы на вопросы из темы программирование интуит.
- # При реализации компилятором редукционного оператора, описанного при помощи клаузы reduction (-: sub), где переменная sub имеет тип integer, для каждой нити создается локальная копия переменной sub, начальное значение которой будет инициализировано:
- # Найдите ошибку в следующем фрагменте программы: #pragma omp parallel default(shared) { int i; #pragma omp for lastprivate(i) for (i=0; i!=n; i++) { work(i); } }
- # Поиск ошибок в OpenMP-программе, выполняемый Sun Thread Analyzer, основан на:
- # Выберите наилучшую стратегию распределения витков цикла между нитями, которая для следующего фрагмента программы даст минимальное время выполнения: #include <omp.h> #include <unistd.h> #define msec 1000 int main (void){ omp_set_num_threads (8); #pragma omp parallel { #pragma omp for schedule (runtime) for(int i=0; i<80;i++) { sleep (msec); } } }
- # Выберите наиболее походящую оптимизацию, которая позволит сократить время выполнения следующего фрагмента программы: #include <omp.h> #include <unistd.h> #define msec 1000 int main (void){ omp_set_num_threads (8); #pragma omp parallel for for (int i=0; i<5; i++) for (int j=0; j<5; j++) sleep (msec); }