Главная /
Параллельное программирование с OpenMP /
Найдите ошибку в следующем фрагменте программы: #include <omp.h> int numproc; #pragma omp threadprivate(numproc) int main (void){ numproc=omp_get_num_procs(); #pragma omp parallel { if (numproc < 4) do_small_work(); else do_big_work (); } }
Найдите ошибку в следующем фрагменте программы:
#include <omp.h>
int numproc;
#pragma omp threadprivate(numproc)
int main (void){
numproc=omp_get_num_procs();
#pragma omp parallel
{
if (numproc < 4)
do_small_work();
else
do_big_work ();
}
}
вопрос
Правильный ответ:
функция
omp_get_num_procs
не может быть вызвана вне параллельной области
в директиве
parallel
отсутствует клауза copyin(numproc)
в данном фрагменте программы ошибки нет
Сложность вопроса
88
Сложность курса: Параллельное программирование с OpenMP
28
Оценить вопрос
Комментарии:
Аноним
Спасибо за тесты по интуит.
22 ноя 2020
Аноним
Зачёт всё. Мчусь в клуб отмечать сессию интуит
04 июн 2019
Другие ответы на вопросы из темы программирование интуит.
- # Параллельная область в OpenMP создается при помощи:
- # Пусть следующая программа скомпилирована компилятором, поддерживающим вложенный параллелизм. #include <stdio.h> #include "omp.h" int counter; int main() { counter=0; omp_set_nested(0); #pragma omp parallel num_threads(2) { #pragma omp parallel num_threads(2) { #pragma omp atomic counter++; } } printf("Counter=%d\n",counter); } Определите значение переменной counter по завершении выполнения этой программы:
- # Найдите ошибку в следующем фрагменте программы: int main (void){ int a; #pragma omp parallel private(a) { #pragma omp single a = 0; #pragma omp for reduction(+:a) for (int i = 0; i < 10; i++) { a += i; } } }
- # Выберите наилучшую стратегию распределения витков цикла между нитями, которая для следующего фрагмента программы даст минимальное время выполнения: #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<100;i++) { sleep ((100-i)*msec); } } }
- # Технология OpenMP по сравнению с MPI имеет следующие преимущества (отметьте все подходящие варианты):