From c8ef7cbac11834e42d8e202d70a5d8d8ee365886 Mon Sep 17 00:00:00 2001 From: Changhai Man Date: Thu, 7 Dec 2023 11:06:31 -0500 Subject: [PATCH 1/2] [chakra][et_feeder] Add default value to uninitialized variables. --- et_feeder/et_feeder_node.h | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/et_feeder/et_feeder_node.h b/et_feeder/et_feeder_node.h index 9a59232..7f43459 100644 --- a/et_feeder/et_feeder_node.h +++ b/et_feeder/et_feeder_node.h @@ -47,21 +47,22 @@ class ETFeederNode { std::vector> children_vec_{}; std::vector dep_unresolved_parent_ids_{}; - uint64_t id_; - std::string name_; - bool is_cpu_op_; - uint64_t runtime_; - uint64_t num_ops_; - uint32_t tensor_loc_; - uint64_t tensor_size_; - ChakraProtoMsg::CollectiveCommType comm_type_; - uint32_t involved_dim_size_; + uint64_t id_ = 0ul; + std::string name_ = ""; + bool is_cpu_op_ = false; + uint64_t runtime_ = 0ul; + uint64_t num_ops_ = 0ul; + uint32_t tensor_loc_ = 0u; + uint64_t tensor_size_ = 0ul; + ChakraProtoMsg::CollectiveCommType comm_type_ = + ChakraProtoMsg::CollectiveCommType::BROADCAST; + uint32_t involved_dim_size_ = 0u; std::vector involved_dim_; - uint32_t comm_priority_; - uint64_t comm_size_; - uint32_t comm_src_; - uint32_t comm_dst_; - uint32_t comm_tag_; + uint32_t comm_priority_ = 0u; + uint64_t comm_size_ = 0ul; + uint32_t comm_src_ = 0u; + uint32_t comm_dst_ = 0u; + uint32_t comm_tag_ = 0u; }; } // namespace Chakra From a0bd378d5f90d8588689747fe0de16fac34ce6ed Mon Sep 17 00:00:00 2001 From: Changhai Man Date: Thu, 7 Dec 2023 11:06:53 -0500 Subject: [PATCH 2/2] [chakra][et_feeder] changed readNextWindow to remove extra resolveDep --- et_feeder/et_feeder.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/et_feeder/et_feeder.cpp b/et_feeder/et_feeder.cpp index 714b5d6..901149e 100644 --- a/et_feeder/et_feeder.cpp +++ b/et_feeder/et_feeder.cpp @@ -144,17 +144,21 @@ void ETFeeder::readNextWindow() { } uint32_t num_read = 0; do { - shared_ptr new_node = readNode(); - if (new_node == nullptr) { - et_complete_ = true; - break; + if (this->et_complete_) { + // graph read finished, but still nodes unresolved + // which means the graph is broken + assert(false); + } + for (uint32_t num_read = 0; num_read < this->window_size_; num_read++) { + std::shared_ptr new_node = readNode(); + if (new_node == nullptr) { + et_complete_ = true; + break; + } + addNode(new_node); } - - addNode(new_node); - ++num_read; - resolveDep(); - } while ((num_read < window_size_) || (dep_unresolved_node_set_.size() != 0)); + } while (dep_unresolved_node_set_.size() != 0); for (auto node_id_node : dep_graph_) { uint64_t node_id = node_id_node.first;