все
.docЗапитання 156: Множина варіантів
Директива OpenMP if використовується:
![]()
Для
організації умовного виконання потоків
в паралельному структурному блоці
![]()
Для
організації умовного виконання потоків
в послідовному структурному блоці
![]()
Для
організації циклів в програмі
![]()
Не
використовується
Запитання 157: Множина варіантів
За яких умов, у нижче наведеному прикладі розпаралелюється цикл:
c$omp parallel do if (n .ge. 2000)
do i = 1, n
a (i) = b (i)*c + d (i)
enddo
![]()
Коли
буде наперед відомо, що паралельна
версія швидша послідовної
![]()
Коли
буде наперед відомо, що послідовна
версія швидша паралельної
![]()
За
умови запуску на 2000 процесорів
![]()
За
будь яких
Запитання 158: Множина варіантів
Для чого використовується директива OpenMP copyin:
![]()
Для
передачі даних із головного потоку в
паралельні
![]()
Для
передачі даних із паралельних потоків
в головний
![]()
Для
підписування потоків
![]()
Для
нумерації потоків
Запитання 159: Множина варіантів
Процес передачі даних із головного потоку в паралельні називається:
![]()
Міграцією
даних
![]()
Іміграцією
даних
![]()
Еміграцією
даних
![]()
Інтерполяцією
даних
Запитання 160: Множина варіантів
Директива OpenMP for використовується для:
![]()
організації
паралельного виконання петель циклів
в програмах написаних на мові С/С++
![]()
організації
паралельного виконання петель циклів
в програмах написаних на мові Fortran
![]()
організації
умовного виконання потоків в паралельному
структурному блоці C/C++
![]()
організації
умовного виконання потоків в паралельному
структурному блоці Fortran
Запитання 161: Множина варіантів
Директива OpenMP do використовується для:
![]()
організації
паралельного виконання петель циклів
в програмах написаних на мові С/С++
![]()
організації
паралельного виконання петель циклів
в програмах написаних на мові Fortran
![]()
організації
умовного виконання потоків в паралельному
структурному блоці C/C++
![]()
організації
умовного виконання потоків в паралельному
структурному блоці Fortran
Запитання 162: Множина варіантів
Вираз OpenMP в програмі на мові Fortran
c$omp [ parallel ] do [ вираз [ вираз [ … ]]]
do loop
[c$omp end do [nowait]]
Означає, що:
![]()
Петлі
(loop) оператора do будуть реалізовані як
паралельні процеси
![]()
Петлі
(loop) оператора do будуть реалізовані як
послідовні процеси
![]()
Петлі
(loop) оператора do будуть реалізовані як
процеси з перериваннями
![]()
Петлі
(loop) оператора do будуть реалізовані як
дискретні незалежні потоки
Запитання 163: Множина варіантів
Що виконує функція (int/logical) omp_in_parallel()
![]()
Дозволяє
ідентифікувати в якій ділянці програми
(паралельній/послідовній) в даний момент
проводяться обчислення
![]()
Дозволяє
ідентифікувати рівень розпаралелювання
програми
![]()
Дозволяє
визначити ділянку входу в критичну
секцію
![]()
Дозволяє
визначити ділянку коду в якій знаходиться
бар’єрна функція
Запитання 164: Множина варіантів
Що виконує функція (void) omp_set_dynamic( TRUE | FALSE )
![]()
Задає
або відміняє динамічний режим роботи
![]()
Дозволяє
ідентифікувати в якій ділянці програми
(паралельній/послідовній) в даний момент
проводяться обчислення
![]()
Дозволяє
ідентифікувати рівень розпаралелювання
програми
![]()
Дозволяє
визначити ділянку входу в критичну
секцію
Запитання 165: Множина варіантів
Що виконує функція (int/logical) omp_get_nested()
![]()
Дозволяє
ідентифікувати встановлений або не
вкладений режим паралельної ділянки
програми
![]()
Дозволяє
ідентифікувати в якій ділянці програми
(паралельній/послідовній) в даний момент
проводяться обчислення
![]()
Дозволяє
ідентифікувати рівень розпаралелювання
програми
![]()
Дозволяє
визначити ділянку входу в критичну
секцію
Запитання 166: Множина варіантів
Коли ініціалізуються змінні, що включені в список директив threadprivate
![]()
До
початку першого паралельного блоку
![]()
Всередині
паралельного блоку
![]()
Між
першим і другим паралельними блоками
![]()
В
будь якій ділянці програми
Запитання 167: Множина варіантів
Скільки разів може відбуватися ініціалізація змінних, що включені в список директив threadprivate
![]()
Ініціалізація
можлива тільки один раз
![]()
Можлива
багаторазова ініціалізація
![]()
Можлива
багаторазова ініціалізація в паралельній
області
![]()
Можлива
багаторазова ініціалізація в послідовній
області
Запитання 168: Множина варіантів
В динамічному режимі роботи :
![]()
Передача
значення змінної з одного паралельного
структурного блока в інший не допускається
![]()
Передача
значення змінної з одного паралельного
структурного блока в інший допускається
![]()
Передача
значення змінної з одного паралельного
структурного блока в інший можлива за
умови рівності паралельних блоків
![]()
Передача
значення змінної з одного паралельного
структурного блока в інший буде не
коректною
Запитання 169: Множина варіантів
1) В нижче наведеній програмі
#include <omp.h>
int alpha [10], beta[10], i
#pragma omp threadprivate (alpha)
main ( )
{
omp_set_dynamic (0);
#pragma omp parallel private (i, beta)
for (i=0; i<10; i++)
alpha = beta = i;
#pragma omp parallel
printf ("alpha[3]=%d and beta [3] =%d\n", alpha[3], beta[3]);
}
Для скасування динамічного режиму використовується
![]()
omp_set_dynamic
(0)
![]()
omp_set_dynamic
(1)
![]()
pragma
omp parallel private
![]()
pragma
omp parallel
Запитання 170: Множина варіантів
1) Дано код програми
c$omp parallel shared (X)
c$omp& private (TMP)
ID=omp_get_thread_num ()
c$omp do reduction (+ : X)
DO 100 I = 1, 100
TMP = WORK(I)
X = X + TMP
100 CONTINUE
c$omp end do nowait
Y( ID ) = X
c$omp end parallel
Що необхідно зробити для уникнення перегонів даних
![]()
Видалити
NOWAIT
![]()
Додати
NOWAIT
![]()
Змінити
значення CONTINUE
![]()
Змінити
значення ID
Запитання 171: Множина варіантів
1) Дано код програми
REAL TMP, X
c$omp parallel do reduction (+ : X)
DO 100 I = 1, 100
TMP = WORK(I)
X = X + TMP
100 CONTINUE
c$omp end do
Y(ID) = X
c$omp end parallel
Що необхідно зробити для уникнення перегонів даних
![]()
Описати
змінну ТМР в паралельній області як
private
![]()
Описати
змінну ТМР в паралельній області як
public
![]()
Описати
змінну ТМР в паралельній області як
protected
![]()
Не
ініціалізувати змінну ТМР
Запитання 172: Множина варіантів
Як називається ситуація коли один із параллельных потоків очікує звільнення доступу до обєкта, який ніколи не буде відкритий.
![]()
Мертве
блокування
![]()
Колізія
![]()
Блокування
Ріхмана
![]()
Локальне
блокування
Запитання 173: Множина варіантів
Програма Intel Thread Checker використовується для
![]()
Відлагодження
паралельних програм
![]()
Створення
паралельних програм
![]()
Запуску
паралельних програм
![]()
Керування
потоками паралельних програм
Запитання 174: Множинна відповідь
В програмах написаних з використанням OpenMP існують наступні особливості керування потоками:
![]()
Можна
запускати на певному процесорі
![]()
Можна
розміщувати дані в заданому місці
пам’яті
![]()
Можна
запускати на GRID без використання
допоміжних засобів
![]()
Можна
запускати тільки на деяких типах
процесорів
Запитання 175: Множина варіантів
Як називається ситуація коли одні паралельні потоки використовують дані з інших?
![]()
Залежність
по даних
![]()
Незалежність
по даних
![]()
Залежність
по процесах
![]()
Незалежність
по процесах
Запитання 176: Множина варіантів
Який показник є головним для паралельних програм?
![]()
Показник
прискорення
![]()
Показник
розміру коду
![]()
Показник
кросплатформеності
![]()
Показник
надійності
Запитання 177: Множина варіантів
Яка опція дозволяє компілятору автоматично створювати багато потокові версії програми з використанням директив OpenMP
![]()
-openmp
![]()
-openmp_profile
![]()
-openmp_stubs
![]()
-openmp_report{0|1|2}
Запитання 178: Множина варіантів
Яка опція додає в створену програму засоби профілювання
![]()
-openmp
![]()
-openmp_profile
![]()
-openmp_stubs
![]()
-openmp_report{0|1|2}
Запитання 179: Множина варіантів
Яка опція дозволяє скомпілювати OpenMP програму в послідовному режимі
![]()
-openmp
![]()
-openmp_profile
![]()
-openmp_stubs
![]()
-openmp_report{0|1|2}
Запитання 180: Множина варіантів
Яка опція дозволяє створювати звіти по результатам автоматичного розпаралелювання з використанням OpenMP
![]()
-openmp
![]()
-openmp_profile
![]()
-openmp_stubs
![]()
-openmp_report{0|1|2}
Запитання 181: Відповідність (графічне)
Задайте відповідність
|
|
A. -openmp B. -openmp_profile C. -openmp_stubs D. -openmp_report{0|1|2} |
Запитання 182: Множина варіантів
Опція -par_threshold[n]
![]()
Передає
компілятору ціле число в діапазоні від
0 до 100,значення n є оцінкою ефективності
розпаралелення циклів у відсотках
![]()
Передає
компілятору число з плаваючою комою в
діапазоні від 0 до 1000,значення n є оцінкою
ефективності розпаралелення циклів у
секундах процесорного часу
![]()
Передає
компілятору ціле число в діапазоні від
0 до 6535,значення n є оцінкою ефективності
розпаралелення циклів у відсотках
![]()
Передає
компілятору ціле число в діапазоні від
0 до 100,значення n є оцінкою ефективності
розпаралелення циклів у секундах
процесорного часу
Запитання 183: Множина варіантів
Що відбудеться в наслідок виконання команди icc ifort -cluster-openmp prog.f -o prog
![]()
В
результаті будуть створені виконувані
файли з іменами prog
![]()
В
результаті будуть створені виконувані
файли з іменами prog.f
![]()
В
результаті будуть створені файли
журналів іменами prog
![]()
Команда
є некоректною
Запитання 184: Множинна відповідь
Функції бібліотеки run-time дозволяють
![]()
Контролювати
і переглядати параметри паралельної
програми
![]()
Використовувати
синхронізацію на базі замків
![]()
Запускати
програму в заданий проміжок часу
![]()
Запускати
паралельну програму на заданий проміжок
часу
