AUTH's THMMY "Parallel and distributed systems" course assignments.
Vous ne pouvez pas sélectionner plus de 25 sujets
Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
|
- # distributed bitonic sort using elbow merge locally except for the first step
- function distbitonic!(p)
-
- q = Int(log2(p))
-
- pid = 0:p-1
- ascending = mod.(pid,2) .== 0
- println("ascending: $ascending")
- # local full sort here
- for k = 1:q
- kk = 1 << k
- for j = k-1:-1:0
- jj = 1 << j
- partnerid = pid .⊻ jj
- direction = (pid .& kk) .== 0 .& (pid .< partnerid)
- keepsmall = ((pid .< partnerid) .& direction) .| ((pid .> partnerid) .& .!direction)
- println("k: $k | j: $j | partner: $partnerid | keepsmall: $keepsmall")
- # exchange with partner and keep small or large
- end
- ascending = (pid .& kk) .== 0
- println("ascending: $ascending")
- # local elbowmerge here
- end
-
- nothing
- end
-
|