Skip to main content
. Author manuscript; available in PMC: 2012 Jun 1.
Published in final edited form as: Parallel Comput. 2011 June-July;37(6-7):261–278. doi: 10.1016/j.parco.2011.04.002

Algorithm 6.

[combinations] = COMMUNICATE_TREE (K, combinations)

Input:
current nullspace matrix Kq×nems=[R(1)R(2)];
local set of pairs of column indices which generate new candidates (combinations)
Output:
merged set of column-generating pairs of indices (combinations)
1: proc_id ⇐ identifier of the local compute-node
2: for i = 1 to log P do
3: if proc_id = 0 (mod2i) then
4:    receive columns from compute-node proc_id + 2i−1
5:    merge the local set of columns with the received columns
6: else
7:    send columns to compute-node proc_id − 2i−1
8: end if
9: end for
10: if proc_id = 0 then
11:   broadcast the columns to all other compute-nodes
12: end if