You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

_multistream.py 479 B

123456789101112131415161718192021
  1. from .core._imperative_rt.core2 import apply
  2. from .core.ops.builtin import Barrier
  3. from .tensor import Tensor
  4. _dummy_tensors = {}
  5. def _get_dummy_tensor(device):
  6. if device not in _dummy_tensors:
  7. _dummy_tensors[device] = Tensor([], device=device)
  8. return _dummy_tensors[device]
  9. def record_event(device):
  10. x = _get_dummy_tensor(device)
  11. (x,) = apply(Barrier(device, 1), x)
  12. return x
  13. def wait_event(device, event):
  14. apply(Barrier(device, 0), event)