For the latest implement about Fluid distributed training, the optimizer program will be passed into Recv op as an attribute:
AddAttr<std::string>("OptimizeProgram", "type string",
"Serialized ProgramDesc string for recv to run.");
Maybe we could append the optimizer program into the block list and pass the block id into RecvOp, I think there is two advantage:
- All the variables will be infershaped before running.
- It's easy to debug, we can not print the whole pserver program after optimizer program be serialized to string.