База ответов ИНТУИТ

Intel Parallel Programming Professional (Introduction)

<<- Назад к вопросам

В OpenMP-программе необходимо подсчитать число потоков в параллельной области без использования функции omp_get_num_threads(). Отметьте верные варианты.

(Ответ считается верным, если отмечены все правильные варианты ответов.)

Варианты ответа
без использования функции omp_get_num_threads() эта задача не решаема
  int count = 0;#pragma omp parallel {   #pragma omp master   count++; }
  int count = 0;#pragma omp parallel {   #pragma omp atomic   count++; }
(Верный ответ)
  int count = 0;#pragma omp parallel {   #pragma omp ctitical   count++; }
(Верный ответ)
  int count = 0;#pragma omp parallel {   count++; }
int count = 0;#pragma omp parallel private(count) {   count++; }
Похожие вопросы
В параллельной области в OpenMP-программе необходимо выделить память под общую для всех потоков переменную. Отметьте верные варианты кода
В OpenMP-программе необходимо задать число потоков равное двум. Отметьте верные варианты:
В OpenMP-программе объявлены переменные a и b типа int и массив c типа double. Отметьте верные варианты использования директивы omp atomic.
Ваша OpenMP-программа содержит две параллельные области. Необходимо, чтобы число потоков в первой из них равнялось трем, а во второй определялось числом процессоров, доступных операционной системе. Отметьте верные варианты:
В OpenMP-программе имеются две параллельные области. Возможна ли ситуация, когда один поток закончит выполнение обеих параллельных областей, в то время как другой поток все еще выполняет код первой параллельной области, при условии что все потоки запущены средствами OpenMP?
Пусть написана следующая параллельная программа:
int *a;= new int [10];#pragma omp parallel{…[num_th] = num_th;…}
Какие проблемы могут наблюдаться при выполнении параллельной программы, если num_th это номер потока (потоков меньше 10)?
Пусть написана следующая параллельная программа:
int *a;= new int [10];#pragma omp parallel shared(a){…[num_th] = num_th;…}
Какие проблемы могут наблюдаться при выполнении параллельной программы, если num_th это номер потока (потоков меньше 10)?
Для управления распределением итераций цикла между потоками в OpenMP используется параметр schedule директивы for. При типе расписания static:
Для управления распределением итераций цикла между потоками в OpenMP используется параметр schedule директивы for. При типе расписания dynamic:
Для управления распределением итераций цикла между потоками в OpenMP используется параметр schedule директивы for. При типе расписания guided: