Определите класс по умолчанию для переменной numt :
- threadprivate
- private
- (Правильный ответ) shared
Найдите ошибку в следующем фрагменте программы:
- перед директивой for отсутствует директива barrier
- в данном фрагменте программы ошибки нет
- (Правильный ответ) в директиве parallel клауза private (a) должна быть заменена на shared(a)
Найдите ошибку в следующем фрагменте программы:
- чтение/изменение переменной tmp выполняется без какой-либо синхронизации
- изменение общей переменной B[iam] выполняется без какой-либо синхронизации
- (Правильный ответ) в данном фрагменте программы ошибки нет
Способ распределения витков цикла между нитями группы задается при помощи клаузы schedule([,]) . Найдите ошибку в следующем фрагменте программы:
- (Правильный ответ) значение параметра клаузы schedule отличается для каждой нити группы
- в данном фрагменте программы ошибки нет
- при динамическом планировании, задаваемом клаузой schedule(dynamic) , параметр задать нельзя
Выберите наилучшую стратегию распределения витков цикла между нитями, которая для следующего фрагмента программы даст минимальное время выполнения:
Клауза copyin :
- может быть использована только для переменных, указанных в клаузе private
- (Правильный ответ) может быть использована только для переменных, указанных в директиве threadprivate
- может быть использована как для переменных указанных в директиве threadprivate , так и для переменных, указанных в клаузе private
Определите значение переменной team_size по завершении выполнения следующей программы:
Директива master
- определяет блок операторов в программе, который будет выполнен одной нитью группы. Остальные нити группы дожидаются завершения выполнения этого блока
- (Правильный ответ) определяет блок операторов в программе, который будет выполнен master -нитью. Остальные нити группы не дожидаются завершения выполнения этого блока
- определяет блок операторов в программе, который будет выполнен master -нитью. Остальные нити группы дожидаются завершения выполнения этого блока
Выберите наилучшую стратегию распределения витков цикла между нитями, которая для следующего фрагмента программы даст минимальное время выполнения:
Выберите наиболее походящую оптимизацию, которая позволит сократить время выполнения следующего фрагмента программы:
- добавить к директиве parallel for клаузу schedule(static,1)
- добавить к директиве parallel for клаузу schedule(dynamic)
- (Правильный ответ) добавить к директиве parallel for клаузу collapse(2)
Пусть следующая программа скомпилирована компилятором, поддерживающим вложенный параллелизм.
При реализации компилятором редукционного оператора, описанного при помощи клаузы reduction (+: sum) , где переменная sum имеет тип integer , для каждой нити создается локальная копия переменной sum , начальное значение которой будет инициализировано:
- MAXINT (максимально возможное целое число)
- -MAXINT (минимально возможное целое число)
- (Правильный ответ) 0
Определите способ распределения витков цикла между нитями для следующего фрагмента программы:
- управляемый(guided)
- (Правильный ответ) зависит от реализации компилятора
- зависит от значения переменной окружения OMP_SCHEDULE
Найдите ошибку в следующем фрагменте программы:
- (Правильный ответ) чтение/изменение общей переменной tmp выполняется без какой-либо синхронизации
- в данном фрагменте программы ошибки нет
- изменение общей переменной B[iam] выполняется без какой-либо синхронизации
Процессорная модель консистентности памяти определяется следующим условием:
- все процессы наблюдают операции записи любого процесса в порядке их выполнения. Операции записи различных процессов могут наблюдаться разными процессами в разном порядке
- (Правильный ответ) все процессы наблюдают операции записи любого процесса в порядке их выполнения. Для каждой переменной существует общее согласие относительно порядка, в котором процессы модифицируют эту переменную. Операции записи различных процессов могут наблюдаться разными процессами в разном порядке
- все процессы наблюдают все обращения к ячейкам памяти в одном и том же порядке. Обращения не упорядочены по времени
Найдите ошибку в следующем фрагменте программы:
- после конструкции single отсутствует директива barrier
- в данном фрагменте программы ошибки нет
- (Правильный ответ) в директиве single отсутствует клауза copyprivate(numt)
Найдите ошибку в следующем фрагменте программы:
- (Правильный ответ) количество заголовков циклов не соответствуют значению, указанному в клаузе collapse
- в данном фрагменте программы ошибки нет
- в результате использования клаузы default(shared) , счетчики циклов — переменные i и j являются общими для всех нитей
Пусть следующая программа скомпилирована компилятором, поддерживающим вложенный параллелизм.
Найдите ошибку в следующем фрагменте программы:
- (Правильный ответ) дедлок — взаимная блокировка нитей, возникающая в результате того что одноименные критические секции вложены друг в друга
- в данном фрагменте программы ошибки нет
- критические секции не могут быть вложены друг в друга
Найдите ошибку в следующем фрагменте программы:
- в данном фрагменте программы ошибки нет
- в директиве parallel клауза shared(a) должна быть заменена на private(a)
- (Правильный ответ) перед директивой for отсутствует директива barrier
Рассмотрим фрагмент OpenMP-программы: #include int n=1; int main (void) < omp_set_nested(1); omp_set_dynamic(1); omp_set_num_threads(2); #pragma omp parallel if (n>10) > Для выполнения параллельной области будет создана группа нитей, состоящая из:
- 2-х нитей
- нескольких нитей (количество создаваемых нитей зависит от переменной окружения OMP_NUM_THREADS )
- (Правильный ответ) 1-ой нити
Найдите ошибку в следующем фрагменте программы:
- используются конструкции распределения работ, которые вложены одна в другую
- (Правильный ответ) клауза shared не может быть использована в директиве for
- в данном фрагменте программы ошибки нет
Функция omp_get_num_threads возвращает:
- максимально возможное количество нитей, которые могут быть использованы при выполнении всей программы
- номер нити в группе
- (Правильный ответ) количество нитей в текущей параллельной области
Параллельная область в OpenMP создается при помощи:
- (Правильный ответ) директивы parallel
- вызова функции omp_set_max_active_levels
- вызова функции omp_set_num_threads
Определите способ распределения витков цикла между нитями для следующего фрагмента программы:
- (Правильный ответ) зависит от реализации компилятора
- зависит от значения переменной окружения OMP_SCHEDULE
- динамический (dynamic)
Найдите ошибку в следующем фрагменте программы:
- (Правильный ответ) в директиве for отсутствует клауза private(tmp)
- в данном фрагменте программы ошибки нет
- в директиве parallel отсутствует клауза shared(a)
Использование оператора exit в структурном блоке OpenMP:
- возможно в некоторых OpenMP-компиляторах (зависит от реализации)
- запрещено в стандарте
- (Правильный ответ) разрешено в стандарте
Выберите наиболее походящую оптимизацию, которая позволит сократить время выполнения следующего фрагмента программы:
- для первого цикла, выполнение витков которого распределяется между нитями при помощи директивы for , добавить клаузу schedule(dynamic)
- для второго цикла, выполнение витков которого распределяется между нитями при помощи директивы for , добавить клаузу schedule(dynamic)
- (Правильный ответ) объединить две подряд стоящие параллельные области в одну
Найдите ошибку в следующем фрагменте программы:
- оператор for не может быть использован внутри конструкции master
- (Правильный ответ) по завершении конструкции master отсутствует директива barrier
- в данном фрагменте программы ошибки нет
При реализации компилятором редукционного оператора, описанного при помощи клаузы reduction (*: prod) , где переменная prod имеет тип integer , для каждой нити создается локальная копия переменной prod, начальное значение которой будет инициализировано:
- (Правильный ответ) 1
- MAXINT (максимально возможное целое число)
Похожие ответы, выполненные работы
ЦТ || Lesson_18: Разбор задания на нахождение ошибок
Поиск ошибок в программе
- Программирование на языке C в Microsoft Visual Studio 2010
- Программирование на языке C++
- C#_ ООП и классы
- C#_ основы
- Язык программирования C++ для профессионалов
- Язык программирования C++
- Программирование на Java
- Создание Windows-приложений на основе Visual C#
- Структуры и алгоритмы компьютерной обработки данных
- Программирование на языке высокого уровня C#
или напишите нам прямо сейчас
Оставить комментарий
Inna Petrova 18 минут назад
Нужно пройти преддипломную практику у нескольких предметов написать введение и отчет по практике так де сдать 4 экзамена после практики
Иван, помощь с обучением 25 минут назад
Коля 2 часа назад
Здравствуйте, сколько будет стоить данная работа и как заказать?
Иван, помощь с обучением 2 часа назад
Инкогнито 5 часов назад
Сделать презентацию и защитную речь к дипломной работе по теме: Источники права социального обеспечения. Сам диплом готов, пришлю его Вам по запросу!
Иван, помощь с обучением 6 часов назад
Василий 12 часов назад
Здравствуйте. ищу экзаменационные билеты с ответами для прохождения вступительного теста по теме Общая социальная психология на магистратуру в Московский институт психоанализа.
Иван, помощь с обучением 12 часов назад
Анна Михайловна 1 день назад
Нужно закрыть предмет «Микроэкономика» за сколько времени и за какую цену сделаете?
Иван, помощь с обучением 1 день назад
Сергей 1 день назад
Здравствуйте. Нужен отчёт о прохождении практики, специальность Государственное и муниципальное управление. Планирую пройти практику в школе там, где работаю.
Иван, помощь с обучением 1 день назад
Инна 1 день назад
Добрый день! Учусь на 2 курсе по специальности земельно-имущественные отношения. Нужен отчет по учебной практике. Подскажите, пожалуйста, стоимость и сроки выполнения?
Иван, помощь с обучением 1 день назад
Студент 2 дня назад
Здравствуйте, у меня сегодня начинается сессия, нужно будет ответить на вопросы по русскому и математике за определенное время онлайн. Сможете помочь? И сколько это будет стоить? Колледж КЭСИ, первый курс.
Иван, помощь с обучением 2 дня назад
Ольга 2 дня назад
Требуется сделать практические задания по математике 40.02.01 Право и организация социального обеспечения семестр 2
Иван, помощь с обучением 2 дня назад
Вика 3 дня назад
сдача сессии по следующим предметам: Этика деловых отношений — Калашников В.Г. Управление соц. развитием организации- Пересада А. В. Документационное обеспечение управления — Рафикова В.М. Управление производительностью труда- Фаизова Э. Ф. Кадровый аудит- Рафикова В. М. Персональный брендинг — Фаизова Э. Ф. Эргономика труда- Калашников В. Г.
Иван, помощь с обучением 3 дня назад
Игорь Валерьевич 3 дня назад
здравствуйте. помогите пройти итоговый тест по теме Обновление содержания образования: изменения организации и осуществления образовательной деятельности в соответствии с ФГОС НОО
Иван, помощь с обучением 3 дня назад
Вадим 4 дня назад
Пройти 7 тестов в личном кабинете. Сооружения и эксплуатация газонефтипровод и хранилищ
Иван, помощь с обучением 4 дня назад
Кирилл 4 дня назад
Нашел у вас на сайте задачу, какая мне необходима, можно узнать стоимость?
Иван, помощь с обучением 4 дня назад
Oleg 4 дня назад
Требуется пройти задания первый семестр Специальность: 10.02.01 Организация и технология защиты информации. Химия сдана, история тоже. Сколько это будет стоить в комплексе и попредметно и сколько на это понадобится времени?
Иван, помощь с обучением 4 дня назад
Валерия 5 дней назад
ЗДРАВСТВУЙТЕ. СКАЖИТЕ МОЖЕТЕ ЛИ ВЫ ПОМОЧЬ С ВЫПОЛНЕНИЕМ практики и ВКР по банку ВТБ. ответьте пожалуйста если можно побыстрее , а то просто уже вся на нервяке из-за этой учебы. и сколько это будет стоить?
Иван, помощь с обучением 5 дней назад
Инкогнито 5 дней назад
Здравствуйте. Нужны ответы на вопросы для экзамена. Направление — Пожарная безопасность.
Иван, помощь с обучением 5 дней назад
Иван неделю назад
Защита дипломной дистанционно, «Синергия», Направленность (профиль) Информационные системы и технологии, Бакалавр, тема: «Автоматизация приема и анализа заявок технической поддержки
Иван, помощь с обучением неделю назад
Дарья неделю назад
Необходимо написать дипломную работу на тему: «Разработка проекта внедрения CRM-системы. + презентацию (слайды) для предзащиты ВКР. Презентация должна быть в формате PDF или формате файлов PowerPoint! Институт ТГУ Росдистант. Предыдущий исполнитель написал ВКР, но работа не прошла по антиплагиату. Предыдущий исполнитель пропал и не отвечает.
Есть его работа, которую нужно исправить, либо переписать с нуля.
Иван, помощь с обучением неделю назад
Источник: the-distance.ru
Вопрос 58: Выберите наиболее походящую оптимизацию, которая позволит сократить время выполнения следующего фрагмента программы:
Вопрос 59: Пусть следующая программа скомпилирована компилятором, поддерживающим вложенный параллелизм.
#pragma omp parallel num_threads(2)
if (omp_get_thread_num() == 0)
#pragma omp parallel num_threads(2)
#pragma omp atomic
Определите значение переменной counter по завершении выполнения этой программы:
Вопрос 60: При реализации компилятором редукционного оператора, описанного при помощи клаузы reduction (+: sum), где переменная sum имеет тип integer, для каждой нити создается локальная копия переменной sum, начальное значение которой будет инициализировано:
1. MAXINT (максимально возможное целое число)
2. -MAXINT (минимально возможное целое число)
Вопрос 61: Определите способ распределения витков цикла между нитями для следующего фрагмента программы:
#pragma omp parallel
2. зависит от реализации компилятора
3. зависит от значения переменной окружения OMP_SCHEDULE
Вопрос 62: Найдите ошибку в следующем фрагменте программы:
#pragma omp parallel default(shared) num_threads(10)
1. чтение/изменение общей переменной tmp выполняется без какой-либо синхронизации
2. В данном фрагменте программы ошибки нет
3. Изменение общей переменной b[iam] выполняется без какой-либо синхронизации
Вопрос 63: Процессорная модель консистентности памяти определяется следующим условием:
1. все процессы наблюдают операции записи любого процесса в порядке их выполнения. Операции записи различных процессов могут наблюдаться разными процессами в разном порядке
2. все процессы наблюдают операции записи любого процесса в порядке их выполнения. Для каждой переменной существует общее согласие относительно порядка, в котором процессы модифицируют эту переменную. Операции записи различных процессов могут наблюдаться разными процессами в разном порядке
3. все процессы наблюдают все обращения к ячейкам памяти в одном и том же порядке. Обращения не упорядочены по времени
Источник: studfile.net
Решение олимпиадных задач по информатике — тест 5
nbsp
nbsp
Номер 2
В программе на Паскале все значения элементов двумерного массива равны «2». Что будет выведено на экран монитора в результате выполнения программы, фрагмент которой приведен ниже:
… n:=5; x[2,3]:=5; x[4,1]:=1; max:=x[1,1]; min:=x[1,1]; for i:=1 to n do for j:=1 to n do if x[i,j]>max then max:=x[i,j] else min:=x[i,j]; writeln (max, ‘ ‘, min); …
nbsp
Номер 3
Типовой алгоритм поиска максимального и минимльного элемента двумерного массива на Паскале, фрагмент которого приведен ниже, содержит ошибку. Найдите ее:
… m1:=x[1,1]; m2:=x[1,1]; for i:=1 to n do for j:=1 to m do if x[i,j]
nbsp
m2:=x[1,1]; Верно: m1:=0; m2:=1000; nbsp(4) во фрагменте программы нет ошибок 0) and (i*j mod 2 =0) then writeln (i,j); …
nbsp
nbsp
nbsp
nbsp
Номер 2
Программа на Паскале, фрагмент которой приведен ниже, выводит индексы положительных элементов двумерного массива, произведение индексов которых четно. Какое логическое выражение вместо вопросительного знака в ветвлении необходимо указать:
… for i:=1 to n do for j:=1 to m do if ? then writeln (i,j); …
0) and (i*j mod 2) =0 nbsp(2) (x[i,j]>0) or (i*j mod 2) =0 nbsp(3) (x[i,j]>0) and (i*j div 2) =0 nbsp(4) (x[i,j]>0) and (i mod=0)*(j mod 2 =0) y:=-1; for i:=1 to n do for j:=1 to n do x[i,j]:=y*(-2); y:=x[i,j]; for i:=1 to n do for j:=1 to n do if (x[i,j]>0) and (i*j mod 2 =0) then writeln (i+j); …
Упражнение 4: Номер 1
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, буден найдено:
… d:=0; for j:=1 to n do begin m[j]:=x[1,j]; for i:=1 to n do begin if x[i,j]>m[j] then m[j]:=x[i,j]; end; d:=d+m[j]; end …
nbsp
nbsp
nbsp
nbsp
Номер 2
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, буден найдено:
… d:=0; for j:=1 to n do begin m[j]:=x[1,j]; for i:=1 to n do begin if x[i,j]
nbsp
nbsp
nbsp
nbsp
Номер 3
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, в переменной будет:
… d:=0; n:=3; for j:=1 to n do for i:=1 to n do x[i,j]:=i+j; for j:=1 to n do begin m[j]:=x[1,j]; for i:=1 to n do begin if x[i,j]>m[j] then m[j]:=x[i,j]; end; d:=d+m[j]; end …
nbsp
Упражнение 5: Номер 1
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, буден найдено:
… s:=0; for i:=1 to n do for j:=1 to n do if (i<=n-j+1) then s:=s+x[i,j]; …
nbsp
nbsp
nbsp
nbsp
Номер 2
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, буден найдено:
… s:=0; for i:=1 to n do for j:=1 to n do if (i>n-j+1) then s:=s+x[i,j]; …
nbsp
nbsp
nbsp
nbsp
Номер 3
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, значение переменной будет равно:
… n:=3; s:=0; k:=1; for i:=1 to n do for j:=1 to n do begin x[i,j]:=k; k:=k+1; end for i:=1 to n do for j:=1 to n do if (i<=n-j+1) then s:=s+x[i,j]; …
nbsp
Упражнение 6: Номер 1
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, квадратный массив будет заполнен таким образом:
… for i:=1 to n do for j:=1 to i do x[i,j]:=1; …
0010101111nbsp
1111010100nbsp
1111101000nbsp
0001011111nbsp
Номер 2
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, квадратный массив будет заполнен таким образом:
… for i:=1 to n do for j:=i to n do x[i,j]:=1; …
1111010100nbsp
0010101111nbsp
1111101000nbsp
0001011111nbsp
Номер 3
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, квадратный массив будет заполнен таким образом:
… for i:=1 to n do for j:=1 to (n-i+1) do x[i,j]:=1; …
1111101000nbsp
1111010100nbsp
0001011111nbsp
0010101111nbsp
Упражнение 7: Номер 1
Укажите фрагмент программы, выполнение которой приведет к такому заполнению квадратного массива:
begin 10000\ 10000\ 11000\ 11000\ 11100\ 00000\ 00000\ 00000\ 00000\ end
Номер 2
В результате выполнения программы на Паскале, фрагмент которой приведен ниже заполняется квадратный массив:
… for i:=1 to (?) do for j:=1 to i do x[i,j]:=1; …
Укажите выражение, которое должно стоять вместо вопросительного знака в заголовке цикла, чтобы квадратный массив заполнится таким образом:
begin 10000\ 10000\ 11000\ 11000\ 11100\ 00000\ 00000\ 00000\ 00000 end
nbsp
nbsp
nbsp
nbsp
Номер 3
Укажите фрагмент программы, выполнение которой приведет к такому заполнению квадратного массива:
begin 00000\ 00000\ 00000\ 00000\ 00111\ 00011\ 00011\ 00001\ 00001 end
Упражнение 8: Номер 1
Укажите фрагмент программы, выполнение которой приведет к такому заполнению квадратного массива:
begin 11111\ 01110\ 01110\ 00100\ 00100\ 00000\ 00000\ 00000\ 00000 end
Номер 2
Укажите фрагмент программы, выполнение которой приведет к такому заполнению квадратного массива:
begin 00000\ 00000\ 00000\ 00000\ 00100\ 00100\ 01110\ 01110\ 11111 end
Номер 3
Ниже приведен фрагмент программы
… for i:=(n div 2 + 1) to n do for j:=. x[i,j]:=1; …
выполнение которой приведет к такому заполнению квадратного массива:
begin 00000\ 00000\ 00000\ 00000\ 00100\ 00100\ 01110\ 01110\ 11111 end
Укажите, что должно стоять вместо вопросительных знаков в заголовке внутреннего цикла:
Источник: eljob.ru