o
    ir                     @   s*   d dl mZ ddlmZ defddZdS )    )
DataLoader   )is_torch_xla_available
dataloaderc                 C   s`   t  r.dd lm  m} t| |jsJ ddd lm  m} ||	 d}|| j
d< | S | S )Nr   zPThe dataloader must be a `torch_xla.distributed.parallel_loader.MpDeviceLoader`.)fsdpNinput_sharding)r   %torch_xla.distributed.parallel_loaderdistributedparallel_loader
isinstanceMpDeviceLoadertorch_xla.distributed.spmdspmdShardingSpecget_global_mesh_parallel_loader_kwargs)r   plxssharding_spec r   Z/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/transformers/integrations/tpu.pytpu_spmd_dataloader   s   
r   N)torch.utils.datar   utilsr   r   r   r   r   r   <module>   s   