Commit 711116f
committed
summa: fix h-grouped result-tile owner; enable the 3-d grid by default
The deadlock that gated the h-grouped (hgroups>1) path: Summa's output
get_tile(i) computed the result tile's source rank from the GROUP-LOCAL
process-grid coordinates (proc_row*proc_cols + proc_col) but never added
the world-rank offset of the tile's slab group. So a non-zero group
recv'd each result tile from the wrong (group-0) rank, which never sent
it -> hang. set_tile already routed correctly via the h-grouped pmap;
only get_tile disagreed.
Fix: result_tile_owner(i) = within-group cyclic owner + (slab_group *
group_size), matching the h-grouped SlabbedPmap's owner() (and thus
set_tile's destination). Store group_size_ for the offset. hgroups==1 is
unchanged (offset 0). With this the heuristic is enabled by default
(spread surplus ranks over the slab dimension when M*N tiles < P), so
no-external products distribute their result across slab groups instead
of piling on one rank.
Validated np=2: all general_product no-external cases (dense/ToT/sparse)
+ the distributed suite (now incl. dist_no_externals_hgrouped, which
asserts the result spans >1 rank). np=1 + full regression unchanged.1 parent da4c250 commit 711116f
3 files changed
Lines changed: 59 additions & 26 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
137 | 140 | | |
138 | 141 | | |
139 | 142 | | |
140 | 143 | | |
141 | 144 | | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
142 | 164 | | |
143 | 165 | | |
144 | 166 | | |
| |||
1728 | 1750 | | |
1729 | 1751 | | |
1730 | 1752 | | |
| 1753 | + | |
1731 | 1754 | | |
1732 | 1755 | | |
1733 | 1756 | | |
| |||
1777 | 1800 | | |
1778 | 1801 | | |
1779 | 1802 | | |
1780 | | - | |
1781 | | - | |
1782 | | - | |
1783 | | - | |
1784 | | - | |
1785 | | - | |
1786 | | - | |
1787 | | - | |
1788 | | - | |
1789 | | - | |
1790 | | - | |
1791 | | - | |
| 1803 | + | |
| 1804 | + | |
| 1805 | + | |
| 1806 | + | |
| 1807 | + | |
1792 | 1808 | | |
1793 | 1809 | | |
1794 | 1810 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
859 | 859 | | |
860 | 860 | | |
861 | 861 | | |
862 | | - | |
863 | | - | |
864 | | - | |
865 | | - | |
866 | | - | |
867 | | - | |
868 | | - | |
869 | | - | |
870 | | - | |
871 | | - | |
872 | | - | |
| 862 | + | |
873 | 863 | | |
874 | 864 | | |
875 | 865 | | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
876 | 869 | | |
877 | 870 | | |
878 | 871 | | |
879 | 872 | | |
880 | 873 | | |
881 | 874 | | |
882 | | - | |
883 | | - | |
884 | | - | |
885 | 875 | | |
886 | 876 | | |
887 | 877 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
11 | 13 | | |
12 | 14 | | |
13 | 15 | | |
| |||
1455 | 1457 | | |
1456 | 1458 | | |
1457 | 1459 | | |
| 1460 | + | |
| 1461 | + | |
| 1462 | + | |
| 1463 | + | |
| 1464 | + | |
| 1465 | + | |
| 1466 | + | |
| 1467 | + | |
| 1468 | + | |
| 1469 | + | |
| 1470 | + | |
| 1471 | + | |
| 1472 | + | |
| 1473 | + | |
| 1474 | + | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
1458 | 1485 | | |
0 commit comments