MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / CreateRemoteContexts

Function CreateRemoteContexts

tensorflow/c/eager/c_api.cc:132–173  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

130}
131
132tensorflow::Status CreateRemoteContexts(
133 const std::vector<string>& remote_workers, tensorflow::uint64 context_id,
134 int keep_alive_secs, const tensorflow::ServerDef& server_def,
135 tensorflow::eager::EagerClientCache* remote_eager_workers, bool async,
136 const tensorflow::eager::CreateContextRequest& base_request) {
137 for (int i = 0; i < remote_workers.size(); i++) {
138 const string& remote_worker = remote_workers[i];
139
140 tensorflow::eager::CreateContextRequest request(base_request);
141 tensorflow::eager::CreateContextResponse response;
142 request.set_context_id(context_id);
143 tensorflow::DeviceNameUtils::ParsedName parsed_name;
144 if (!tensorflow::DeviceNameUtils::ParseFullName(remote_worker,
145 &parsed_name)) {
146 return tensorflow::errors::InvalidArgument(
147 "Unable to parse ", remote_worker, " as a device name");
148 }
149 *request.mutable_server_def() = server_def;
150 request.mutable_server_def()->set_job_name(parsed_name.job);
151 request.mutable_server_def()->set_task_index(parsed_name.task);
152 request.set_async(async);
153 request.set_keep_alive_secs(keep_alive_secs);
154 tensorflow::eager::EagerClient* eager_client;
155 TF_RETURN_IF_ERROR(
156 remote_eager_workers->GetClient(remote_worker, &eager_client));
157 if (eager_client == nullptr) {
158 return tensorflow::errors::Internal(
159 "Cannot find a client for the given target:", remote_worker);
160 }
161 tensorflow::Notification n;
162 tensorflow::Status status;
163 // TODO(nareshmodi) do this in parallel instead of serially.
164 eager_client->CreateContextAsync(
165 &request, &response, [&status, &n](const tensorflow::Status& s) {
166 status = s;
167 n.Notify();
168 });
169 n.WaitForNotification();
170 TF_RETURN_IF_ERROR(status);
171 }
172 return tensorflow::Status::OK();
173}
174
175tensorflow::Status UpdateTFE_ContextWithServerDef(
176 int keep_alive_secs, const tensorflow::ServerDef& server_def,

Callers 1

Calls 6

InvalidArgumentFunction · 0.85
InternalFunction · 0.85
sizeMethod · 0.45
GetClientMethod · 0.45
NotifyMethod · 0.45
WaitForNotificationMethod · 0.45

Tested by

no test coverage detected