игра брюс 2048
Главная / Программирование / Параллельные вычисления и многопоточное программирование / Тест 3

Параллельные вычисления и многопоточное программирование - тест 3

Упражнение 1:
Номер 1
Что понимается под чисткой цикла?

Ответ:

 (1) из тела цикла удаляются все операторы за исключением операторов присваивания 

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

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

 (4) чистка структуры цикла 

 (5) удаление раскраски переменных тела цикла 


Номер 2
Цикл может допускать распараллеливание, если:

Ответ:

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

 (2) все переменные, вычисляемые в теле цикла, зависят от параметра цикла i 

 (3) итерации цикла зависимы 


Номер 3
Рассмотрим цикл for(int i =0; i <N; i++ ) { x[i] = expr; } с одним оператором присваивания в теле цикла. Цикл допускает распараллеливание, если выражение expr представимо в виде:

Ответ:

 (1) F(i, x[i]) 

 (2) F(i) 

 (3) F(x[i]) 

 (4) F(i, i + 1) 

 (5) F(x[i], x[i +1]) 


Упражнение 2:
Номер 1
Цикл не допускает распараллеливания, если:

Ответ:

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

 (2) множества переменных, изменяемых на итерациях цикла, взаимно не пересекаются 

 (3) множества переменных, изменяемых на итерациях цикла, взаимно пересекаются 

 (4) итерации цикла независимы 


Номер 2
Рассмотрим цикл for(int i =0; i <N; i++ ) { x = F(…); } с одним оператором присваивания в теле цикла. Какие утверждения являются справедливыми в зависимости от вида функции F?

Ответ:

 (1) F(i, x) => Цикл может быть распараллелен 

 (2) F(i) => Возможна чистка цикла с избавлением от цикла 

 (3) F(x) => Цикл не может быть распараллелен 

 (4) F(i, i + 1) => Избавление от цикла невозможно 


Номер 3
Для вычисления суммы элементов массива можно использовать:

Ответ:

 (1) только последовательный алгоритм 

 (2) только два алгоритма – последовательный или пирамидальный 

 (3) только четыре алгоритма – последовательный, пирамидальный, шаговый, сегментный 

 (4) сколь угодно много алгоритмов 


Упражнение 3:
Номер 1
Укажите истинные высказывания, связанные с вычислением суммы элементов массива:

Ответ:

 (1) для однопроцессорного компьютера последовательный алгоритм является наиболее эффективным 

 (2) для любого компьютера пирамидальный алгоритм является наиболее эффективным 

 (3) эффективность пирамидального алгоритма зависит от архитектуры компьютера и применяемых средств распараллеливания 

 (4) выбор наиболее эффективного алгоритма зависит от архитектуры компьютера 


Номер 2
Укажите истинные высказывания, связанные с вычислением суммы сходящегося ряда:

Ответ:

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

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

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

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


Номер 3
Алгоритм вычисления определенного интеграла:

Ответ:

 (1) не допускает распараллеливания 

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

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

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


Упражнение 4:
Номер 1
Последовательный алгоритм умножения матриц C = A * B содержит три цикла – цикл по строкам матрицы A, по столбцам матрицы В, внутренний цикл, вычисляющий скалярное произведение строки на столбец. У каких циклов итерации независимы?

Ответ:

 (1) только у цикла по строкам 

 (2) только у цикла по столбцам 

 (3) как у цикла по строкам, так и у цикла по столбцам 

 (4) у всех трех циклов 


Номер 2
Какой сложности в идеале можно добиться на суперкомпьютере для задачи умножения квадратных матриц размерности N  * N?

Ответ:

 (1) math 

 (2) math 

 (3) math 

 (4) O(logN) 

 (5) O(1) 


Номер 3
Сколько способов существует для параллельного вычисления числа ПИ:

Ответ:

 (1)

 (2)

 (3)

 (4) сколь угодно много 


Упражнение 5:
Номер 1
Какие утверждения справедливы для алгоритма пузырьковой сортировки?

Ответ:

 (1) является эффективным по сложности алгоритмом сортировки массивов 

 (2) на массивах малой размерности может работать быстрее алгоритма быстрой сортировки 

 (3) существует вариация алгоритма со сложностью O(N) для лучшего случая упорядоченности 

 (4) в классическом варианте имеет сложность O(N * N) во всех случаях 


Номер 2
Какие утверждения справедливы для шагового алгоритма пузырьковой сортировки?

Ответ:

 (1) допускает распараллеливание 

 (2) при последовательном выполнении на больших массивах работает эффективнее классического варианта 

 (3) проще в реализации 


Номер 3
Какой формулой задается сложность шагового алгоритма пузырьковой сортировки?

Ответ:

 (1) math 

 (2) math 

 (3) math 

 (4) math 


Упражнение 6:
Номер 1
Сложность шагового алгоритма пузырьковой сортировки задается формулой math.  Справедливость каких утверждений следует из этого?

Ответ:

 (1) алгоритм эффективнее классического алгоритма пузырьковой сортировки при p, близком к 1 

 (2) алгоритм эффективнее классического алгоритма пузырьковой сортировки при p, близком к n 

 (3) существует оптимальное значение p, при котором алгоритм показывает наилучшее быстродействие 


Номер 2
Какие утверждения справедливы для алгоритма сортировки "чет – нечет"?

Ответ:

 (1) допускает естественное распараллеливание 

 (2) на каждом проходе проводится N сравнений - обменов 

 (3) на каждом проходе сравниваются одни и те же пары элементов 


Номер 3
Укажите высказывания, истинные для алгоритма сортировки "чет-нечет":

Ответ:

 (1) на четном и нечетном проходах сравниваются различные пары элементов 

 (2) уже после выполнения (N – 1)-го прохода массив гарантированно упорядочен 

 (3) на каждом проходе сравнение пар проводится независимо и допускает распараллеливание 




Главная / Программирование / Параллельные вычисления и многопоточное программирование / Тест 3