MCPcopy Create free account
hub / github.com/dmlc/parameter_server / process

Method process

src/learner/bcd.h:283–311  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

281 virtual ~BCDWorker() { }
282
283 void process(const MessagePtr& msg) {
284 CHECK(msg->task.has_bcd());
285 auto bcd = msg->task.bcd();
286 int time = msg->task.time() * time_ratio_;
287 switch (bcd.cmd()) {
288 case BCDCall::LOAD_DATA: {
289 LoadDataReturn ret;
290 int hit_cache = 0;
291 CHECK(bcd.has_data());
292 loadData(bcd.data(), ret.mutable_example_info(), &hit_cache);
293 ret.set_hit_cache(hit_cache);
294 sys_.replyProtocalMessage(msg, ret);
295 break;
296 }
297 case BCDCall::PREPROCESS_DATA:
298 preprocessData(time, bcd);
299 break;
300 case BCDCall::UPDATE_MODEL:
301 computeGradient(time, bcd, msg);
302 msg->finished = false; //
303 break;
304 case BCDCall::EVALUATE_PROGRESS: {
305 BCDProgress prog; evaluate(&prog);
306 sys_.replyProtocalMessage(msg, prog);
307 break;
308 }
309 default: break;
310 }
311 }
312 protected:
313 virtual void computeGradient(int time, const BCDCall& bcd, MessagePtr msg) = 0;
314 virtual void evaluate(BCDProgress* prog) = 0;

Callers

nothing calls this directly

Calls 8

has_bcdMethod · 0.80
dataMethod · 0.80
mutable_example_infoMethod · 0.80
set_hit_cacheMethod · 0.80
replyProtocalMessageMethod · 0.80
timeMethod · 0.45
cmdMethod · 0.45
has_dataMethod · 0.45

Tested by

no test coverage detected