Inside the definition of class HeteroFMTransferVariable, there is the following line of code:
self.agg_vx_mul_fg = self._create_variable(name='agg_vx_mul_fg', src=['host'], dst=['guest'])
which means the transmit direction of agg_vx_mul_fg is from host to guest.
Then, inside file hetero_fm_gradient_and_loss.py, there is the following lines of code:
def remote_agg_vx_mul_fg(self, agg_vx_mul_fg, suffix=tuple()):
self.agg_vx_mul_fg_transfer.remote(obj=agg_vx_mul_fg, role=consts.HOST, idx=-1, suffix=suffix)
which says the transmit direction of agg_vs_mul_fg is from guest to host.
So, there is a conflict between these two places of code.
After some try and test, I found that it is a typo in the definition of HeteroFMTransferVariable. The way it meant to be should be like the following:
self.agg_vx_mul_fg = self._create_variable(name='agg_vx_mul_fg', src=['guest'], dst=['host'])
in other worlds, the transmit direction of agg_vs_mul_fg should be from guest to host.
And after this modification, I can run the hetero_fm example successfully, which would fail otherwise.
PS: I would like to work on this, but may need some help, like some guides on how to setup environment, what test uint should be added before open a PR. Please let me know who should I contact?
Inside the definition of class
HeteroFMTransferVariable, there is the following line of code:which means the transmit direction of
agg_vx_mul_fgis from host to guest.Then, inside file
hetero_fm_gradient_and_loss.py, there is the following lines of code:which says the transmit direction of
agg_vs_mul_fgis from guest to host.So, there is a conflict between these two places of code.
After some try and test, I found that it is a typo in the definition of
HeteroFMTransferVariable. The way it meant to be should be like the following:in other worlds, the transmit direction of
agg_vs_mul_fgshould be from guest to host.And after this modification, I can run the hetero_fm example successfully, which would fail otherwise.
PS: I would like to work on this, but may need some help, like some guides on how to setup environment, what test uint should be added before open a PR. Please let me know who should I contact?