// the user can see why an unsatisfiable placement occurred.
std::unordered_map<string, string> type_to_devices;
+ std::vector<const Node*> colocation_nodes;
int num_nodes_found = 0;
for (const Node* node : graph_->nodes()) {
continue;
}
++num_nodes_found;
+ colocation_nodes.push_back(node);
const string& op_type = node->type_string();
string devices_registered;
for (const auto& device_type : members_[id].supported_device_types) {
for (const auto& td : type_to_devices) {
strings::StrAppend(&text, "\n", td.first, ": ", td.second);
}
+ strings::StrAppend(&text,
+ "\n\nColocation members and user-requested devices:");
+ for (const Node* node : colocation_nodes) {
+ strings::StrAppend(&text, "\n ", node->name(), " (", node->type_string(),
+ ") ", node->requested_device());
+ }
+ strings::StrAppend(&text, "\n");
if (num_nodes_found <= 1) {
text.clear();