Documente Academic
Documente Profesional
Documente Cultură
1. Baza 2p
2. Test grila 5 p
3. Topologia Fluture (Butterfly)
Definitie 0.5p
Exemplu 0.5p
4. Sortarea bitonicǎ
Algoritm paralel 1p
Comentarii 1p
R: Hipercubul
proc f(A,op)
begin
for k = m-1 down to 0 do
for all j:2k £ j £ 2k+1-1 par do A[j]=A[2j] op A[2j+1];
end
Ce operaţie realizeazǎ f?
a. Comprimarea
b. Scurtcircuitarea
R: Comprimarea
proc calcul_prefixe(A,B,)
begin
1
for k = m-1 down to 0 do
for all j:2k £ j £ 2k+1-1 par do A[j]=A[2j]A[2j+1];
B[1]= A[1];
for k = 1 to m do
for all j:2k £ j £2k+1-1 par do
if bit0(j) = 1 then
B[j]=B[[(j-1)/2]];
else
B[j]=B[j/2](-A[j+1]);
end
2
mask = ???
if (my_id AND mask)=0 then
/* If the lower i bits of my_id are 0 */
if (my_id AND 2i)=0 then
msg_destination = my_id XOR 2i;
send X to msg_destination;
else
msg_source = my_id XOR 2i;
receive X from msg_source;
end
R: mask XOR 2i
proc sortare_prin_numarare()
begin
for all i,j: 1 £ i,j £ n par do
if A[i] £ A[j] R[i+n-1,j]=1
else R[i+n-1,j]=0;
for all j: 1 £ j £ n par do sum(R[j],+); P[j] = R[1,j];
for all j: 1 £ j £n par do A[P[j]] =A[j];
end
3
R: Fiecare element din s1 este mai mic decit fiecare element din s2
Sunt însa douǎ greşeli. Unde sunt acestea? Pag 124- carte
Daca în secvenţa a-c se operezǎ doua modificǎri se obţine algoritmul lui Canon.
4
a. Fiecare bloc este procesat în momente diferite in locuri diferite
b. Initial sunt aliniate blocurile lui A si B prin deplasari ciclice la stanga (in A) si in
sus (in B)
c. Urmeaza rad(p)-1 pasi de inmultiri locale si adunari locale de blocuri urmate de
deplasari ciclice la stanga (in A) si in sus (in B)
Care sunt modificǎrile necesare pentru a obţine algoritmul lui Canon?