hello i have an algorithm and i want to know how it works and how it divides processors
please help me its very important for me
Algorithm Operation C ← AB using Sparse SUMMA
Input: A ∈ Sm×k,B ∈ Sk×n: sparse matrices distributed on a pr ×pc processor grid
Output: C ∈ Sm×n: the product AB, similarly distributed.
1: procedure SparseSUMMA(A,B,C)
2: for all processors P(i, j) in parallel do
3: Bij ← (Bij )T
4: for q = 1 to k/b do blocking parameter b evenly divides k/pr and k/pc
5: c = (q · b)/pc c is the broadcasting processor column
6: r = (q · b)/pr r is the broadcasting processor row
7: lcols = (q · b) mod pc : ((q + 1) · b) mod pc local column range
8: lrows = (q · b) mod pr : ((q + 1) · b) mod pr local row range
9: Arem ← Broadcast(Aic(:, lcols), P(i, :))
10: Brem ← Broadcast(Brj(:, lrows), P(:, j))
11: Cij ← Cij + HyperSparseGEMM(Arem,Brem)
12: Bij ← (Bij )T
Restore the original B