o
    ٷi#                     @   sZ   d dl mZ d dlZd dlmZ d dlmZ eeZdej	j
dee dej	j
fdd	ZdS )
    )OptionalN)ParallelismConfig)init_loggertext_encoderparallelism_configreturnc                 C   s   t | tjjsJ dt|  t| ddrtd | S |d u r#| S ddlm	} || |d} d| _
|| _td	| jj d
t|  d|jddd  | S )Nz=text_encoder must be an instance of torch.nn.Module, but got _is_parallelizedFzHThe text encoder is already parallelized. Skipping parallelism enabling.   )maybe_enable_tensor_parallelism)r   r   TzParallelize Text Encoder: z, id:z, )r   )
isinstancetorchnnModuletypegetattrloggerwarningtensor_parallelismr
   r   _parallelism_configinfo	__class____name__idstrify)r   r   r
    r   `/home/ubuntu/.local/lib/python3.10/site-packages/cache_dit/parallelism/text_encoders/dispatch.py)maybe_enable_parallelism_for_text_encoder   s2   
r   )typingr   r   cache_dit.parallelism.configr   cache_dit.loggerr   r   r   r   r   r   r   r   r   r   <module>   s    