Skip to content

Commit 7e5ad0e

Browse files
committed
one directional push to expr group
1 parent a8511c1 commit 7e5ad0e

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

csrc/val_graph.cpp

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -281,24 +281,29 @@ void ValGraph::initializeVal(
281281
const ExprGroup& expr_set =
282282
disjoint_exprs_.initializeSet(def).first->second;
283283
def_groups.pushBack(expr_set);
284+
285+
for (const auto& inp: def->inputs()) {
286+
const ValGroup& inp_val_group = toGroup(inp);
287+
unique_uses_[inp_val_group].pushBack(expr_set);
288+
}
284289
}
285290
// TODO-NM: def_groups can be empty. Should it be still mapped?
286291
NVF_ERROR(
287292
unique_definitions_.emplace(val_disjoint_set, def_groups).second,
288293
"Multiple defining groups for ",
289294
nvfuser::toString(val_disjoint_set));
290295

291-
ExprGroups use_groups;
292-
for (auto use : uses) {
293-
const ExprGroup& expr_set =
294-
disjoint_exprs_.initializeSet(use).first->second;
295-
use_groups.pushBack(expr_set);
296-
}
297-
// TODO-NM: use_groups can be empty. Should it be still mapped?
298-
NVF_ERROR(
299-
unique_uses_.emplace(val_disjoint_set, use_groups).second,
300-
"Multiple use groups for ",
301-
nvfuser::toString(val_disjoint_set));
296+
// ExprGroups use_groups;
297+
// for (auto use : uses) {
298+
// const ExprGroup& expr_set =
299+
// disjoint_exprs_.initializeSet(use).first->second;
300+
// use_groups.pushBack(expr_set);
301+
// }
302+
// // TODO-NM: use_groups can be empty. Should it be still mapped?
303+
// NVF_ERROR(
304+
// unique_uses_.emplace(val_disjoint_set, use_groups).second,
305+
// "Multiple use groups for ",
306+
// nvfuser::toString(val_disjoint_set));
302307
}
303308

304309
void ValGraph::initializeVal(Val* val) {

0 commit comments

Comments
 (0)