o
    yqiÍ	  ã                   @   sD   d dl mZmZ dd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ ZdS )é   )Úis_dep_availableÚrequire_depsc                  C   s   dd l } |  ¡ }| d¡d S )Né    ú:)ÚpaddleZ
get_deviceÚsplit)r   Z
device_str© r   úX/home/app/PaddleOCR-VL/.venv_paddleocr/lib/python3.10/site-packages/paddlex/utils/env.pyÚget_device_type   s   r
   c                  C   sp   dd l } | j}d|v r| d¡\}}nd }| d¡}t|ƒdks"J ‚tt|ƒ\}}}|r2||||fS |||d fS )Nr   ú-Ú.é   )r   Ú__version__r   ÚlenÚmapÚint)r   ÚversionÚtagZmajor_vZminor_vZpatch_vr   r   r	   Úget_paddle_version   s   
r   c                  C   ó2   dd l } | j ¡ }|dkrd S ttt| d¡ƒƒS ©Nr   ÚFalser   )Úpaddle.versionr   ÚcudaÚtupler   r   r   )r   Zcuda_versionr   r   r	   Úget_paddle_cuda_version*   ó
   
r   c                  C   r   r   )r   r   Zcudnnr   r   r   r   )r   Zcudnn_versionr   r   r	   Úget_paddle_cudnn_version3   r   r   c                  C   s4   t dƒrdd l} | j ¡ S tdƒ dd l}|j ¡ S ©NZpaddlepaddler   Útorch)r   Úpaddle.deviceÚdeviceZis_compiled_with_cudar   Ú
torch.cudar   Zis_available)r   r   r   r   r	   Úis_cuda_available?   s   

r#   c                  C   sH   d } t ƒ r"tdƒrdd l}|jj ¡ } | S tdƒ dd l}|j ¡ } | S r   )r#   r   r    r!   r   Zget_device_capabilityr   r"   )Úcapr   r   r   r   r	   Úget_gpu_compute_capabilityM   s   û
r%   N)	Údepsr   r   r
   r   r   r   r#   r%   r   r   r   r	   Ú<module>   s   	