MCPcopy Create free account
hub / github.com/Oneflow-Inc/oneflow / MakeGetterTaskNode4SoleOpName

Function MakeGetterTaskNode4SoleOpName

oneflow/core/graph/task_graph.cpp:185–200  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

183}
184
185std::function<TaskNode*(const std::string&)> MakeGetterTaskNode4SoleOpName(
186 const HashSet<TaskNode*>& task_nodes) {
187 auto op_name2task_nodes = std::make_shared<HashMap<std::string, HashSet<TaskNode*>>>();
188 for (TaskNode* task_node : task_nodes) {
189 if (task_node->exec_gph().node_num() == 1) {
190 ExecNode* exec_node = task_node->exec_gph().SoleNode();
191 CHECK((*op_name2task_nodes)[exec_node->op()->op_name()].emplace(task_node).second);
192 }
193 }
194 return [op_name2task_nodes](const std::string& op_name) -> TaskNode* {
195 const auto& iter = op_name2task_nodes->find(op_name);
196 if (iter == op_name2task_nodes->end()) { return nullptr; }
197 if (iter->second.size() > 1) { return nullptr; }
198 return *iter->second.begin();
199 };
200}
201
202bool IsLbiOnTaskEdge(const TaskEdge* edge, const LogicalBlobId& lbi) {
203 for (const auto& regst_desc : edge->GetRegsts()) {

Callers 2

Calls 7

node_numMethod · 0.80
SoleNodeMethod · 0.80
findMethod · 0.80
opMethod · 0.45
endMethod · 0.45
sizeMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected