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

Intel Parallel Programming Professional (Introduction)

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

Как, используя OpenMP, быстрее всего просуммировать элементы очень длинного массива?

(Отметьте один правильный вариант ответа.)

Варианты ответа
в параллельном цикле использовать атомарное сложение с разделяемой переменной
в параллельном цикле использовать клаузу reduction для синхронизации суммирования в разделяемую переменную(Верный ответ)
в параллельном цикле использовать критическую секцию для синхронизации суммирования в разделяемую переменную
Похожие вопросы
В OpenMP-программе имеется два распараллеленных цикла. Возможна ли ситуация, когда один поток закончит выполнение обоих циклов, в то время как другой поток все еще выполняет код первого цикла, при условии что все потоки запущены средствами OpenMP?
Имеется следующий код на OpenMP
double a = 10.0;#pragma omp parallel private(a){ ...}
Можно ли средствами OpenMP сделать так, чтобы локальные копии переменной а в каждом потоке имели то же значение, что и исходная переменная a?
В OpenMP-программе имеются две параллельные области. Возможна ли ситуация, когда один поток закончит выполнение обеих параллельных областей, в то время как другой поток все еще выполняет код первой параллельной области, при условии что все потоки запущены средствами OpenMP?
В программе на OpenMP имеется вычислительный блок, содержащий два вложенных цикла с независимыми итерациями. Требуется распараллелить его с помощью OpenMP. Количество итераций внешнего цикла 1000, внутреннего – 1000000. Какой цикл выгоднее распараллелить: внешний или внутренний?
Вы написали параллельную программу с использованием OpenMP на языке C. Распараллеливание осуществляется за счёт одной строчки: “#pragma omp parallel for”. Другие средства OpenMP не используются, переменные окружения не меняются. Вы запустили вашу программу 100 раз на 1-оядерной машине. 58 раз программа отработала корректно, 32 раза программа выдала не корректные данные, 10 раз программа не доработала до конца и завершила работу с ошибкой. Чем вы воспользуетесь в первую очередь при дальнейшей разработке программы?
Основное предназначение OpenMP?
Отметьте верные утверждения об OpenMP:
Для сборки OpenMP-программы необходимо.
Где исполняется код, распараллеленный с помощью технологии OpenMP?
Для каких вычислительных систем предназначена технология OpenMP?