From 7af7169235576b383d5a2c60581a4d1a3e755e3e Mon Sep 17 00:00:00 2001 From: Bo Wang Date: Fri, 5 Aug 2022 15:23:33 -0700 Subject: [PATCH 1/4] fix: fix the schema not found for node error Signed-off-by: Bo Wang --- core/partitioning/partitioning.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/partitioning/partitioning.cpp b/core/partitioning/partitioning.cpp index 28bfd0712c..7e1f8c615a 100644 --- a/core/partitioning/partitioning.cpp +++ b/core/partitioning/partitioning.cpp @@ -31,10 +31,13 @@ bool containNonTensorOutputs(torch::jit::Node* n) { } bool isModifyingNodes(torch::jit::Node* node, torch::jit::Value* val) { - const auto& schema = node->schema(); + const torch::jit::FunctionSchema* schema = node->maybeSchema(); + if (!schema) { + return false; + } for (size_t i = 0; i < node->inputs().size(); ++i) { if (node->inputs()[i] == val) { - const at::AliasInfo* formal = schema.arguments()[i].alias_info(); + const at::AliasInfo* formal = schema->arguments()[i].alias_info(); if (formal && formal->isWrite()) { return true; } From 8f27e94876e252cc494c27422fe55e0a9ef7b2d8 Mon Sep 17 00:00:00 2001 From: Bo Wang Date: Tue, 9 Aug 2022 17:50:24 -0700 Subject: [PATCH 2/4] chore: add logging if found a modifying node in partitioning Signed-off-by: Bo Wang --- core/partitioning/partitioning.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/core/partitioning/partitioning.cpp b/core/partitioning/partitioning.cpp index 7e1f8c615a..60ffc8ff10 100644 --- a/core/partitioning/partitioning.cpp +++ b/core/partitioning/partitioning.cpp @@ -39,6 +39,7 @@ bool isModifyingNodes(torch::jit::Node* node, torch::jit::Value* val) { if (node->inputs()[i] == val) { const at::AliasInfo* formal = schema->arguments()[i].alias_info(); if (formal && formal->isWrite()) { + LOG_GRAPH(" Is modifying node " << util::node_info(n)); return true; } } From ea94008a2507fc03f0d5193ace2fe9d629a0a7f6 Mon Sep 17 00:00:00 2001 From: Bo Wang Date: Tue, 9 Aug 2022 18:14:37 -0700 Subject: [PATCH 3/4] chore: fix typo Signed-off-by: Bo Wang --- core/partitioning/partitioning.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/partitioning/partitioning.cpp b/core/partitioning/partitioning.cpp index 60ffc8ff10..c31139fb45 100644 --- a/core/partitioning/partitioning.cpp +++ b/core/partitioning/partitioning.cpp @@ -39,7 +39,7 @@ bool isModifyingNodes(torch::jit::Node* node, torch::jit::Value* val) { if (node->inputs()[i] == val) { const at::AliasInfo* formal = schema->arguments()[i].alias_info(); if (formal && formal->isWrite()) { - LOG_GRAPH(" Is modifying node " << util::node_info(n)); + LOG_GRAPH(" Is modifying node " << util::node_info(node)); return true; } } From 3113f360bf3bf7f73d00e474c00e64cd813a5d82 Mon Sep 17 00:00:00 2001 From: Bo Wang Date: Wed, 10 Aug 2022 17:41:27 -0700 Subject: [PATCH 4/4] chore: update the logging Signed-off-by: Bo Wang --- core/partitioning/partitioning.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/partitioning/partitioning.cpp b/core/partitioning/partitioning.cpp index c31139fb45..f083f6fbe5 100644 --- a/core/partitioning/partitioning.cpp +++ b/core/partitioning/partitioning.cpp @@ -39,7 +39,9 @@ bool isModifyingNodes(torch::jit::Node* node, torch::jit::Value* val) { if (node->inputs()[i] == val) { const at::AliasInfo* formal = schema->arguments()[i].alias_info(); if (formal && formal->isWrite()) { - LOG_GRAPH(" Is modifying node " << util::node_info(node)); + LOG_GRAPH( + util::node_info(node) << " is a modifying node for value " << val->debugName() + << ", add it to the dependency graph."); return true; } }