| 624 | |
| 625 | |
| 626 | class OutputNode(OpNode): |
| 627 | def __init__(self, var, *args): |
| 628 | args = (var,) + args |
| 629 | r = _imperative_rt.DeviceTensorNDRendezvous() |
| 630 | dummy = _imperative_rt.output_callback(r, _unwrap(args)) |
| 631 | super().__init__(dummy.owner) |
| 632 | self._rendezvous = r |
| 633 | |
| 634 | def get_value(self): |
| 635 | return self._rendezvous.get() |
| 636 | |
| 637 | def drop_value(self): |
| 638 | self._rendezvous.drop() |
| 639 | |
| 640 | def reset(self): |
| 641 | self._rendezvous.reset() |
| 642 | |
| 643 | |
| 644 | class ValueOutputNode(OpNode): |