o
    ۷iH                     @   s    d dl mZ G dd deZdS )    )Enumc                   @   sV   e Zd ZdZdZdZdZedd defddZ	ed	e
dd fd
dZde
fddZdS )ParallelismBackendAutoNative_DiffuserNative_PyTorchNonebackendreturnc                 C   sT   || j krdS || jkrdS || jkr(z	ddlm} W dS  ty'   tdw dS )NTr   )ContextParallelModelPlanzNATIVE_DIFFUSER parallelism backend requires the latest version of diffusers(>=0.36.dev0). Please install latest version of diffusers from source: 
pip3 install git+https://github.com/huggingface/diffusers.gitF)AUTONATIVE_PYTORCHNATIVE_DIFFUSER#diffusers.models._modeling_parallelr
   ImportError)clsr   r
    r   S/home/ubuntu/vllm_env/lib/python3.10/site-packages/cache_dit/parallelism/backend.pyis_supported
   s   



zParallelismBackend.is_supportedbackend_strc                 C   s4   | D ]}|j  | kr|  S qtd| d)Nz!Unsupported parallelism backend: .)valuelower
ValueError)r   r   r   r   r   r   from_str   s
   zParallelismBackend.from_strc                 C   s   | j S )N)r   )selfr   r   r   __str__&   s   zParallelismBackend.__str__N)__name__
__module____qualname__r   r   r   NONEclassmethodboolr   strr   r   r   r   r   r   r      s    r   N)enumr   r   r   r   r   r   <module>   s    