
    Pi                     R    d dl Z d dlmc mZ d dlmZ d dlmZ de j	        de
fdZdS )    N)DTensor)Float8TrainingTensortensorreturnc                     t          | t                    rdS t          | t                    rt          | j                  S t          | t
          j                  rt          | j                  S dS )zl
    Check if the tensor is already casted to fp8, works if the local
    tensor is wrapped in DTensor.
    TF)
isinstancer   r   tensor_already_casted_to_fp8_local_tensorfuncolAsyncCollectiveTensorelem)r   s    t/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/torchao/float8/distributed_utils.pyr	   r	      si    
 &.// 9t	FG	$	$ 9+F,@AAA	FF8	9	9 9+FK8885    )torch)torch.distributed._functional_collectivesdistributed_functional_collectivesr   torch.distributed._tensorr   %torchao.float8.float8_training_tensorr   Tensorboolr	    r   r   <module>r      s}     : : : : : : : : : - - - - - - F F F F F F $      r   