Главная / Параллельное программирование с OpenMP / Выберите наиболее походящую оптимизацию, которая позволит сократить время выполнения следующего фрагмента программы: #include <omp.h> #include <stdio.h> #define N 100 float c[N]; float sum = 0.0; int main (void) { omp_set_num_threads (8); #pra

Выберите наиболее походящую оптимизацию, которая позволит сократить время выполнения следующего фрагмента программы: #include <omp.h> #include <stdio.h> #define N 100 float c[N]; float sum = 0.0; int main (void) { omp_set_num_threads (8); #pragma omp parallel shared(sum, c) { #pragma omp for for (int i=0; i<N; i++) { #pragma omp critical sum += c[i]; } } printf (“Sum of array=%4.2f\n”, sum); }

вопрос

Правильный ответ:

заменить директиву critical на директиву atomic
заменить директиву critical на директиву critical (<имя_критической_секции>)
добавить к директиве for клаузу reduction(+:sum) и убрать директиву critical
Сложность вопроса
88
Сложность курса: Параллельное программирование с OpenMP
28
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Это очень заурядный решебник intuit.
16 дек 2016
Оставить комментарий
Другие ответы на вопросы из темы программирование интуит.