etha.comm.transfer
==================

.. py:module:: etha.comm.transfer

.. autoapi-nested-parse::

   Transfer operation types and execution.



Classes
-------

.. autoapisummary::

   etha.comm.transfer.TransferType
   etha.comm.transfer.Transferable


Module Contents
---------------

.. py:class:: TransferType(*args, **kwds)

   Bases: :py:obj:`enum.Enum`


   Transfer operation types.


   .. py:attribute:: BROADCAST
      :value: 'broadcast'



   .. py:attribute:: P2P
      :value: 'p2p'



   .. py:attribute:: SELF_COPY
      :value: 'self_copy'



   .. py:attribute:: SHADOW
      :value: 'shadow'



.. py:class:: Transferable

   Base class for transferable objects (chunks and buckets).


   .. py:method:: execute() -> torch.distributed.Work | None

      Execute transfer operation.

      :returns: Work handle for async operations, None for SELF_COPY / SHADOW.



   .. py:attribute:: buffer
      :type:  torch.Tensor | None
      :value: None



   .. py:attribute:: dst_ranks
      :type:  tuple[int, Ellipsis]


   .. py:attribute:: is_source
      :type:  bool


   .. py:attribute:: src_rank
      :type:  int


   .. py:attribute:: transfer_type
      :type:  TransferType


   .. py:attribute:: work
      :type:  torch.distributed.Work | None
      :value: None



