Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

все

.doc
Скачиваний:
299
Добавлен:
05.03.2016
Размер:
6.35 Mб
Скачать

void omp_show_schedule(omp_sched_t* type, int* chunk)

Запитання 64: Множина варіантів

Яка директива визначає частину коду всередині секції для виконання одним потоком.

#pragma omp sections [опція [[,] опція]...]

#pragma omp shedule [опція [[,] опція]...]

#pragma omp parallel [опція [[,] опція]...]

#pragma omp stat [опція [[,] опція]...]

Запитання 65: Множина варіантів

Яку опцію підтримує #pragma omp sections

Private

Reduction

Nowait

Всі відповіді вірні

Запитання 66: Множина варіантів

Директива workshare ... end workshare використовується для:

Для задання кінцевого паралелізму програм на мові Fortran

Для задання кінцевого паралелізму програм на мові C

Для задання кінцевого паралелізму програм на мові C++

Для задання кінцевого паралелізму програм на мові Python

Запитання 67: Множина варіантів

Директива task (task ... end task) використовується

Для виділення окремих незалежних областей

Для задання кінцевого паралелізму програм

Для виділення залежних областей задач

Для виділення окремої незалежної задачі

Запитання 68: Множинна відповідь

Які із нижче наведених опцій можливі для директиви task

Protected

Recommend

Default

Shared

Запитання 69: Множина варіантів

Для гарантованого завершення, в точці виклику всіх запущених задач використовується директива:

Taskwait

Taskstop

Procwait

Procstop

Запитання 70: Множина варіантів

Для синхронізації використовуються:

#pragma omp barrier

#pragma omp syn

#pragma omp stop

#pragma omp barrier_syn

Запитання 71: Множина варіантів

Що відбувається з потоками, що виконують деяку паралельну область, коли вони доходять до директиви #pragma omp barrier?

Вони зупиняються і чекають поки всі потоки дійдуть до цієї точки програми, після чого розблоковуються і продовжують працювати далі

Вони зупиняються і чекають поки всі інші потоки завершать свою роботу, після чого розблоковуються і продовжують працювати далі

Вони ігнорують дану директиву і продовжують працювати далі

Вони зупиняються і чекають поки всі потоки дійдуть до цієї точки програми, після чого всі потоки завершують свою роботу

Запитання 72: Множина варіантів

Яка директива визначає блок всередині тіла циклу, який має виконуватися в тому порядку, в якому ітерації йдуть в послідовному циклі.

Ordered

Barrier

Task

Buffered

Запитання 73: Множина варіантів

Критична секція це :

Ділянка коду в якій потік отримує доступ до ресурсу який також доступний з інших потоків

Ділянка коду в якій потік отримує доступ до ресурсу

Ділянка коду в якій потік отримує доступ до локального ресурсу, що не належить до групи

Це частина програми яка є найбільш вразливою

Запитання 74: Множина варіантів

За допомогою якої директиви оформляється критична секція програми?

#pragma omp critical [(<имя_критической_секции>)

#pragma omp critical_section [(<имя_критической_секции>)

#pragma omp section [(<имя_критической_секции>)

#pragma omp end_critical [(<имя_критической_секции>)

Запитання 75: Множина варіантів

Якщо критична секція виконується будь яким із потоків то всі інші потоки, що виконали дану директиву для секції з даним іменем будуть:

Заблоковані

Завершені

Перенаправлені

Виконані

Запитання 76: Множина варіантів

За якої умови здійснюється розблокування потоків критичної секції?

Коли потік що знаходився в критичній секції закінчить її виконання

Коли потік що знаходився в критичній секції пошле сигнал розблокування секції

Коли потік що знаходився в критичній секції розпочне обробку даних секції

Коли потік що знаходився в критичній секції дійде до директиви barrier

Запитання 77: Множина варіантів

Яким чином обирається потік що наступним після першого входить в критичну секцію ?

Випадковим чином

На основі переривань

На основі унікального ідентифікатора

В залежності від типу

Запитання 78: Множина варіантів

Що відбувається з критичними секціями, що мають однакове ім’я?

вони розглядаються як єдина секція

розглядаються як різні секції

блокують одна одну

виконується лише перша секція із списку ідентичних за назвою

Запитання 79: Множина варіантів

Додаткові входи і виходи з критичної секції:

Дозволені

Заборонені

Дозволені якщо ранги вхідних потоків одинакові

Заборонені якщо ранги вхідних потоків різні

Запитання 80: Множинна відповідь

   Що відбувається в нижче наведеній програмі?

 

#include <stdio.h>

#include <omp.h>

int main(int argc, char *argv[])

{

   int n;

#pragma omp parallel

   {

#pragma omp critical

      {

         n=omp_get_thread_num();

         printf("Потік %d\n", n);

      }

   }

}

В критичній області оголошується змінна n

Поза критичною областю оголошується змінна n

Кожен потік по черзі присвоює n свій номер і потім друкує отримане значення

Всі потоки пишуть свої данні в змінну n після чого виконується їхнє виведення

Запитання 81: Множинна відповідь

    Що виконує нижче наведена програма?

      program example26b

      include "omp_lib.h"

      integer n

!$omp parallel

!$omp critical

      n=omp_get_thread_num()

      print *, "stream ", n

!$omp end critical

!$omp end parallel

      End

В критичній області оголошується змінна n

Поза критичною областю оголошується змінна n

Кожен потік по черзі присвоює n свій номер і потім друкує отримане значення

Всі потоки пишуть свої данні в змінну n після чого виконується їхнє виведення

Запитання 82: Множина варіантів

    Що відбудеться якщо у нижче наведеному прикладі не вказати директиву critical?

 

#include <stdio.h>

#include <omp.h>

int main(int argc, char *argv[])

{

  int n;

#pragma omp parallel

  {

#pragma omp critical

     {

        n=omp_get_thread_num();

        printf("Потік %d\n", n);

     }

  }

}

Результат буде не передбачуваним

Помилка програми

Результат не буде відображатися

Ніяких змін не відбудеться

Запитання 83: Множина варіантів

Що відбудеться якщо не задати критичну секцію?

Всі потоки зможуть одночасно виконати даний фрагмент коду

Потоки з вищим пріоритетом виконають заданий фрагмент коду першими

Потоки не зможуть виконати дану ділянку коду

Колізія потоків

Запитання 84: Множина варіантів

Як відображається використання критичних секцій на ефективності паралельної програми

Ефективність програми зменшується

Ефективність програми росте

Ефективність програми не змінюється

Збільшується швидкодія програми

Запитання 85: Множинна відповідь

Як що змінна sum є спільною і оператор sum=sum+expr знаходиться в паралельній області програми то при одночасному виконанні даного оператора декількома потоками можна отримати некоректний результат. Як цього уникнути

Використати механізм критичних секцій

Використати директиву atomic

Використати директиву barrier

Повністю уникнути даної ситуації неможливо

Запитання 86: Множина варіантів

    Для чого в нижче наведеному коді використовується директива atomic

#include <stdio.h>

#include <omp.h>

int main(int argc, char *argv[])

{

   int count = 0;

#pragma omp parallel

      {

#pragma omp atomic

         count++;

      }

      printf("Кількість потоків : %d\n", count);

}

Для унеможливлення одночасної зміни декількома потоками значення однієї змінної

Для збільшення паралельних потоків

Для збільшення потоків що одночасно можуть отримати доступ до змінної

Для зміни пріоритетів потоків

Запитання 87: Множина варіантів

Що таке «замки» в ОpenMP

Один із варіантів синхронізації

Один із варіантів закриття потоків

Один із варіантів розпаралелення потоків

Один з варіантів блокування виникаючих помилок

Запитання 88: Множинна відповідь

В яких станах може знаходитися замок

Не ініціалізованому

Розблокованому

Заблокованому

Стані очікування

Запитання 89: Множина варіантів

Що відбувається з розблокованим замком коли він захоплений деяким процесом?

Він переходить в заблокований стан

Він переходить в стан очікування

Він переходить в стан ініціалізації

З ним нічого не відбувається

Запитання 90: Множина варіантів

Який потік може повернути замок в розблокований стан

Той що його захопив

Всі потоки

Потік-майстер

Жоден з потоків не може розблокувати замок

Запитання 91: Множинна відповідь

Які є типи замків?

Прості замки

Множинні замки

Якісні замки

Злоякісні замки

Запитання 92: Множина варіантів

Яка особливість множинного замка

Може багаторазово захоплюватися одним потоком перед його звільненням

Може одноразово захоплюватися одним потоком перед його звільненням

Може використовуватися для множини різних процесів

Розблоковується при множинному зверненні

Запитання 93: Множина варіантів

Яка особливість простого замка?

Може бути захоплений одноразово

Може бути захоплений багаторазово

Не може бути захоплений

Розблоковується при множинному зверненні

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]