Главная / Программирование /
Основы распараллеливания программ / Тест 4
Основы распараллеливания программ - тест 4
Упражнение 1:
Номер 1
Какой вектор направлений соответствует зависимости не связанной с циклами ?
Ответ:
 (1) ( ≤ , ≤ ) 
 (2) ( = , = ) 
 (3) ( ≥ , ≥ ) 
 (4) ( ≤ , ≥ ) 
Номер 2
Какой вектор направлений соответствует антизависимости во внешнем цикле ?
Ответ:
 (1) ( ≤ , = ) 
 (2) ( = , = ) 
 (3) ( ≥ , = ) 
 (4) ( = , ≥ ) 
Номер 3
Какой вектор направлений соответствует истинной зависимости во внешнем цикле ?
Ответ:
 (1) ( ≥ , = ) 
 (2) ( = , = ) 
 (3) ( ≤ , = ) 
 (4) ( = , ≤ ) 
Упражнение 2:
Номер 1
Какой вектор растояний соответствует следующей программе ?
do i = 1,100
do j = 1,100
a(i,j) = a(i-1,j)
enddo
enddo
Ответ:
 (1) (1,0) 
 (2) (-1,0) 
 (3) (0,-1) 
 (4) (0,1) 
Номер 2
Какой вектор растояний соответствует следующей программе ?
do i = 1,100
do j = 1,100
a(i,j) = a(i,j-1)
enddo
enddo
Ответ:
 (1) (1,0) 
 (2) (-1,0) 
 (3) (0,-1) 
 (4) (0,1) 
Номер 3
Какой вектор растояний соответствует следующей программе ?
do i = 1,100
do j = 1,100
a(i,j) = a(i-1,j+1)
enddo
enddo
Ответ:
 (1) (1,1) 
 (2) (-1,1) 
 (3) (1,-1) 
 (4) (-1,-1) 
Упражнение 3:
Номер 1
Какой вектор направлений соответствует следующей программе ?
do i = 1,100
do j = 1,100
a(i,j) = a(i+5,j-1)
enddo
enddo
Ответ:
 (1) ( ≥ , ≤ ) 
 (2) ( ≤ , ≥ ) 
 (3) ( ≤ , ≤ ) 
 (4) ( ≥ , ≥ ) 
 (5) ( ≤ , = ) 
 (6) ( ≥ , = ) 
 (7) ( = , ≤ ) 
 (8) ( = , ≥ ) 
Номер 2
Какой вектор направлений соответствует следующей программе ?
do i = 1,100
do j = 1,100
a(i,j) = a(i+1,j+1)
enddo
enddo
Ответ:
 (1) ( ≥ , ≤ ) 
 (2) ( ≤ , ≥ ) 
 (3) ( ≤ , ≤ ) 
 (4) ( ≥ , ≥ ) 
 (5) ( ≤ , = ) 
 (6) ( ≥ , = ) 
 (7) ( = , ≤ ) 
 (8) ( = , ≥ ) 
Номер 3
Какой вектор направлений соответствует следующей программе ?
do i = 1,100
do j = 1,100
a(i,j) = a(i-1,j+0)
enddo
enddo
Ответ:
 (1) ( ≥ , ≤ ) 
 (2) ( ≤ , ≥ ) 
 (3) ( ≤ , ≤ ) 
 (4) ( ≥ , ≥ ) 
 (5) ( ≥ , = ) 
 (6) ( ≤ , = ) 
 (7) ( = , ≤ ) 
 (8) (= , ≥ ) 
Упражнение 5:
Номер 1
Укажите вектора направлений допускают распараллеливание по внутреннему циклу
Ответ:
 (1) ( ≥ , = ) 
 (2) ( ≥ , ≤ ) 
 (3) ( = , ≥ ) 
 (4) ( = , ≤ ) 
 (5) ( ≤ , ≥ ) 
Номер 2
Укажите вектора расстояний, которые допускают распараллеливание по внутреннему циклу
Ответ:
 (1) (1 , 0 ) 
 (2) (1 , 1 ) 
 (3) (0 , 1 ) 
 (4) (0 , -1 ) 
Номер 3
Укажите какие вектора направлений допускают распараллеливание по внешнему циклу
Ответ:
 (1) ( ≥ , = ) 
 (2) ( ≥ , ≥ ) 
 (3) ( = , ≥ ) 
 (4) ( = , ≤ ) 
Упражнение 6:
Номер 1
Какие вектора направлений соответствуют антизависимости ?
Ответ:
 (1) ( ≥ , ≤ ) 
 (2) ( ≤ , ≥ ) 
 (3) ( ≤ , ≤ ) 
 (4) ( ≥ , ≥ ) 
 (5) ( ≤ , = ) 
 (6) ( ≥ , = ) 
 (7) ( = , ≤ ) 
 (8) ( = , ≥ ) 
Номер 2
Какие вектора направлений соответствуют истинной зависимости ?
Ответ:
 (1) ( ≥ , ≤ ) 
 (2) ( ≤ , ≥ ) 
 (3) ( ≤ , ≤ ) 
 (4) ( ≥ , ≥ ) 
 (5) ( ≤ , = ) 
 (6) ( ≥ , = ) 
 (7) ( = , ≤ ) 
 (8) ( = , ≥ ) 
Номер 3
Какие вектора расстояний соответствуют истинной зависимости ?
Ответ:
 (1) (-2, 1) 
 (2) (2, -2) 
 (3) (1, 1) 
 (4) (-3, -1) 
 (5) (1, 0) 
 (6) (-1, 0) 
 (7) (0, 2) 
 (8) (0, -5) 
Упражнение 7:
Номер 1
Чему равно растояние зависимости в следующей программе ?
do i = 2,n
a(j) = b(j)+2
c(j) = a(j-1)*3
enddo
Ответ:
 (1) 0 
 (2) -1 
 (3) 1 
Номер 2
Какая зависимость присутствует в следующей программе ?
do i = 2,n
a(j) = b(j)+2
c(j) = a(j-1)*3
enddo
Ответ:
 (1) зависимости нет 
 (2) истинная зависимость 
 (3) антизависимость 
Номер 3
Чему равно растояние зависимости в следующей программе ?
do i = 1,n
a(j) = b(j)+2
c(j) = a(j+1)*3
enddo
Ответ:
 (1) 1 
 (2) -1 
 (3) 0 
Упражнение 8:
Номер 1
Как называется прием, разделяющий цикл, который нельзя распараллелить, на 2 цикла, которые можно распаралеливать?
Ответ:
 (1) репликация кода 
 (2) loop elignment 
 (3) loop distribution 
Номер 2
Как называется прием устранения зависимости в цикле, который сдвигает выполнение некоторых вычислений в соседние итерации цикла?
Ответ:
 (1) репликация кода 
 (2) loop alignment 
 (3) loop distribution 
Номер 3
Какой прием ухудшает последовательный код, для того чтобы получить выигрыш при распараллеливании ?
Ответ:
 (1) репликация кода 
 (2) loop elignment 
 (3) loop distribution 
Упражнение 9:
Номер 1
Для чего организуется приватизация переменной ?
Ответ:
 (1) для ускорения работы 
 (2) для устранения зависимости по скалярной переменной между итерациями цикла 
 (3) для устранения зависимости по элементам массива между итерациями цикла 
Номер 2
На какой архитектуре труднее организовать приватизацию переменной ?
Ответ:
 (1) на архитектуре с разделяемой памятью 
 (2) на архитектуре с распределенной памятью 
Номер 3
На какой архитектуре легче организовать приватизацию переменной ?
Ответ:
 (1) на архитектуре с разделяемой памятью 
 (2) на архитектуре с распределенной памятью 
Упражнение 10:
Номер 1
Как называется переменная, которая ,с ипользованием своего значения на прошлой итерации, перечитывается на каждой итерации цикла ?
Ответ:
 (1) приватезированная 
 (2) индукционная 
 (3) редукционная 
Номер 2
Какая из переменных является индукционной ?
do i = 1,n
A = A+2*i
B = i*i
c(i) = A + B
D = D + c(i)
enddo
Ответ:
 (1) A 
 (2) B 
 (3) c 
 (4) D 
Номер 3
Какая из переменных является индукционной ?
do i = 1,n
A = i+7
B = B*i
c(i) = A + B +c(i)
D = D + c(i)
enddo
Ответ:
 (1) A 
 (2) B 
 (3) c 
 (4) D 
Упражнение 11:
Номер 1
Какая из переменных является редукционной ?
do i = 1,n
A = i+7
B = B*i
c(i) = A + B +c(i)
D = D + c(i)
enddo
Ответ:
 (1) A 
 (2) B 
 (3) c 
 (4) D 
Номер 2
Какая из переменных является редукционной ?
do i = 1,n
A = i*i*i
B = B-i
c(i) = A - B - c(i)
D = D + c(i)
enddo
Ответ:
 (1) A 
 (2) B 
 (3) c 
 (4) D 
Номер 3
Какая из переменных является редукционной ?
do i = 1,n
A = A+c(i)
B = B*i
c(i) = A + B +c(i)
D = D + 2
enddo
Ответ:
 (1) A 
 (2) B 
 (3) c 
 (4) D 
Упражнение 12:
Номер 1
Какими свойствами должны обладать редукционные операции ?
Ответ:
 (1) дистрибутивность 
 (2) ассоциативность 
 (3) комутативность 
Номер 2
Какие операции могут быть рудукционными ?
Ответ:
 (1) + 
 (2) min 
 (3) div 
Номер 3
Какие операции могут быть рудукционными ?
Ответ:
 (1) - 
 (2) max 
 (3) mod