Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Open MP

 

 

104. Интерфейс OpenMP задуман как стандарт параллельного программирования для

1) многопроцессорных систем с общей памятью

2) многопроцессорных систем с разделенной памятью

3) кластерных систем

4) матричных систем

 

105. Основания для достижения эффекта при использовании OPEN MP

1) разделяемые для параллельных процессов данные располагаются в общей памяти

2) для организации взаимодействия не требуется операций передачи сообщений.

3) разделяемые для параллельных процессов данные располагаются в распределенной памяти

4) используется удаленный вызов процедур

 

106. Положительные стороны использования технологии OPEN MP

1) Можно распараллеливать последовательные программы поэтапно, не меняя их структуру

2) Нет необходимости поддерживать последовательный и параллельный вариант программы

3) Эффективно реализован обмен сообщениями

4) Поддержка в наиболее распространенных языках (C/C++, Fortran) и платформах (Windows, Unix)

 

107. Принципы организации параллелизма в Open MP

1) Использование потоков

2) Условная синхронизация

3) Использование семафоров

4) Пульсирующий параллелизм

 

108. При появлении директивы #parallel происходит

1) синхронизация, все потоки, кроме главного, уничтожаются

2) продолжается последовательное выполнение кода (до очередного появления директивы #parallel)

3) создание “команды” (team) потоков для параллельного выполнения вычислений

 

109. После выхода из области действия директивы #parallel происходит

1) синхронизация, все потоки, кроме master, уничтожаются

2) продолжается последовательное выполнение кода (до очередного появления директивы #parallel)

3) создание “команды” (team) потоков для параллельного выполнения вычислений

 

110. Перечислите типы директив Open MP

1) Определение параллельной области

2) Описание общих данных

3) Разделение работы

4) Синхронизация

 

111. Какой параметр не может использоваться в директиве parallel?

1) operator (list)

2) private (list)

3) shared (list)

4) reduction (operator: list)

 

112. Параметр shared определяет список переменных, которые

1) будут общими для всех потоков параллельной области: правильность использования таких переменных должна обеспечиваться программистом

2) будут локальными для каждого потока; переменные создаются в момент формирования потоков параллельной области; начальное значение переменных является неопределенным

3) перед использованием инициализируются значениями исходных переменных

4) запоминаются в исходных переменных после завершения параллельной области (используются значения потока, выполнившего последнюю итерацию цикла или последнюю секцию)

 

113. Параметр private определяет список переменных, которые

1) будут общими для всех потоков параллельной области правильность использования таких переменных должна обеспечиваться программистом

2) будут локальными для каждого потока; переменные создаются в момент формирования потоков параллельной области; начальное значение переменных является неопределенным

3) перед использованием инициализируются значениями исходных переменных

4) запоминаются в исходных переменных после завершения параллельной области (используются значения потока, выполнившего последнюю итерацию цикла или последнюю секцию)

 

114. Параметр firstprivate позволяет создать локальные переменные потоков, которые

1) будут общими для всех потоков параллельной области правильность использования таких переменных должна обеспечиваться программистом

2) будут локальными для каждого потока; переменные создаются в момент формирования потоков параллельной области; начальное значение переменных является неопределенным

3) перед использованием инициализируются значениями исходных переменных

4) запоминаются в исходных переменных после завершения параллельной области (используются значения потока, выполнившего последнюю итерацию цикла или последнюю секцию)

 

115. Параметр lastprivate позволяет создать локальные переменные потоков, значения которых

1) будут общими для всех потоков параллельной области правильность использования таких переменных должна обеспечиваться программистом

2) будут локальными для каждого потока; переменные создаются в момент формирования потоков параллельной области; начальное значение переменных является неопределенным

3) перед использованием инициализируются значениями исходных переменных

4) запоминаются в исходных переменных после завершения параллельной области (используются значения потока, выполнившего последнюю итерацию цикла или последнюю секцию)

 

116. Директива for для распределения вычислений в параллельной области обеспечивает

1) распараллеливание циклов

2) распараллеливание раздельных фрагментов кода (функциональное распараллеливание)

3) директива для указания последовательного выполнения кода

 

117. Директива sections для распределения вычислений в параллельной области

1) распараллеливание циклов

2) распараллеливание раздельных фрагментов кода (функциональное распараллеливание)

3) директива для указания последовательного выполнения кода

 

118. Директива single для распределения вычислений в параллельной области

1) распараллеливание циклов

2) распараллеливание раздельных фрагментов кода (функциональное распараллеливание)

3) директива для указания последовательного выполнения кода

 

119. Распределение итераций в директиве for регулируется параметром (clause) schedule static

1) итерации делятся на блоки по chunk итераций и статически разделяются между потоками; если параметр chunk не определен, итерации делятся между потоками равномерно и непрерывно

2) распределение итерационных блоков осуществляется динамически (по умолчанию chunk=1)

3) размер итерационного блока уменьшается экспоненциально при каждом распределении; chunk определяет минимальный размер блока (по умолчанию chunk=1)

4) правило распределения определяется переменной OMP_SCHEDULE (при использовании runtime параметр chunk задаваться не должен)

 

120. Распределение итераций в директиве for регулируется параметром (clause) schedule dynamic

1) итерации делятся на блоки по chunk итераций и статически разделяются между потоками; если параметр chunk не определен, итерации делятся между потоками равномерно и непрерывно

2) распределение итерационных блоков осуществляется динамически (по умолчанию chunk=1)

3) размер итерационного блока уменьшается экспоненциально при каждом распределении; chunk определяет минимальный размер блока (по умолчанию chunk=1)

4) правило распределения определяется переменной OMP_SCHEDULE (при использовании runtime параметр chunk задаваться не должен)

 

121. Распределение итераций в директиве for регулируется параметром (clause) schedule guided

1) итерации делятся на блоки по chunk итераций и статически разделяются между потоками; если параметр chunk не определен, итерации делятся между потоками равномерно и непрерывно

2) распределение итерационных блоков осуществляется динамически (по умолчанию chunk=1)

3) размер итерационного блока уменьшается экспоненциально при каждом распределении; chunk определяет минимальный размер блока (по умолчанию chunk=1)

4) правило распределения определяется переменной OMP_SCHEDULE (при использовании runtime параметр chunk задаваться не должен)

 

122. Распределение итераций в директиве for регулируется параметром (clause) schedule runtime

1) итерации делятся на блоки по chunk итераций и статически разделяются между потоками; если параметр chunk не определен, итерации делятся между потоками равномерно и непрерывно

2) распределение итерационных блоков осуществляется динамически (по умолчанию chunk=1)

3) размер итерационного блока уменьшается экспоненциально при каждом распределении; chunk определяет минимальный размер блока (по умолчанию chunk=1)

4) правило распределения определяется переменной OMP_SCHEDULE (при использовании runtime параметр chunk задаваться не должен)

 

123. Директива barrier – определяет

1) точку синхронизации, которую должны достигнуть все процессы для продолжения вычислений (директива должны быть вложена в блок)

2) переменную, доступ к которой (чтение/запись) должна быть выполнена как неделимая операция

3) точку синхронизации, в которой системой должно быть обеспечено единое для всех процессов состояние памяти (т.е. если потоком какое-либо значение извлекалось из памяти для модификации, измененное значение обязательно должно быть записано в общую память)

 

124. Директива atomic – определяет

1) точку синхронизации, которую должны достигнуть все процессы для продолжения вычислений (директива должны быть вложена в блок)

2) переменную, доступ к которой (чтение/запись) должна быть выполнена как неделимая операция

3) точку синхронизации, в которой системой должно быть обеспечено единое для всех процессов состояние памяти (т.е. если потоком какое-либо значение извлекалось из памяти для модификации, измененное значение обязательно должно быть записано в общую память)

 

125. Директива flush – определяет

1) точку синхронизации, в которой системой должно быть обеспечено единое для всех процессов состояние памяти (т.е. если потоком какое-либо значение извлекалось из памяти для модификации, измененное значение обязательно должно быть записано в общую память)

2) точку синхронизации, которую должны достигнуть все процессы для продолжения вычислений (директива должны быть вложена в блок)

3) переменную, доступ к которой (чтение/запись) должна быть выполнена как неделимая операция

126. Взаимное исключение в Open MP может осуществляться

1) С помощью директивы critical

2) С помощью директивы atomic

3) С помощью функций библиотеки

4) С помощью директивы barrier

 

127. Переменные окружения в Open MP используются для

1) Управления барьерами в программе

2) Установки количества потоков

3) Управления распределением итераций в цикле

4) Получения номера потока

 

 


Дата добавления: 2015-07-21; просмотров: 84 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Парадигмы пар. Программирования.| Распределенные вычисления

mybiblioteka.su - 2015-2024 год. (0.014 сек.)