Главная /
Параллельное программирование с OpenMP /
Выберите наилучшую стратегию распределения витков цикла между нитями, которая для следующего фрагмента программы даст минимальное время выполнения: #include <omp.h> #include<stdio.h> #include<stdlib.h> #include <time.h> #define mse
Выберите наилучшую стратегию распределения витков цикла между нитями, которая для следующего фрагмента программы даст минимальное время выполнения:
#include <omp.h>
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
#define msec 1000
int main (void){
srand (time(NULL));
omp_set_num_threads (8);
#pragma omp parallel
{
#pragma omp for schedule (runtime)
for(int i=0; i<100;i++) {
sleep (rand()*msec);
}
}
}
вопрос
Правильный ответ:
export OMP_SCHEDULE=”static”
export OMP_SCHEDULE=”dynamic”
export OMP_SCHEDULE=”guided”
Сложность вопроса
53
Сложность курса: Параллельное программирование с OpenMP
28
Оценить вопрос
Комментарии:
Аноним
Я помощник профессора! Тотчас сотрите сайт с ответами интуит. Умоляю
25 фев 2017
Аноним
Какой человек находит данные вопросы интуит? Это же не сложно
05 июл 2016
Аноним
Экзамен сдан на 4. Спасибо vtone
28 июн 2016
Другие ответы на вопросы из темы программирование интуит.
- # Определите количество нитей, между которыми будет распределена работа в параллельной области: #include "omp.h" void work(int i); int main () { int n; n=10; #pragma omp parallel num_threads(4) if (n>20) { #pragma omp for for (int i=0;i<n;i++) work (i); } }
- # Найдите ошибку в следующем фрагменте программы: #include <omp.h> int main (void){ #pragma omp parallel { int numt; #pragma omp single numt=omp_get_num_threads(); if (numt < 4) do_small_work(); else do_big_work (); } }
- # Выберите наилучшую стратегию распределения витков цикла между нитями, которая для следующего фрагмента программы даст минимальное время выполнения: #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){ int i; omp_set_num_threads (8); #pragma omp parallel for for (i=0; i<80; i++) sleep (msec); #pragma omp parallel for for (i=0; i<80; i++) sleep (msec); }
- # Директива SHARABLE в технологии Intel Cluster OpenMP: