o
    HŠ!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   ú]/home/app/PaddleOCR-VL-test/.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   sN   t dƒrdd l} | j ¡ o|  ¡  S tdƒ dd l}dd l}|j 	¡ o&|j
jS ©NZpaddlepaddler   Útorch)r   Úpaddle.deviceÚdeviceZis_compiled_with_cudaZis_compiled_with_rocmr   Ú
torch.cudaZtorch.versionr   Zis_availabler   )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_capabilityR   s   	ú
r%   N)	Údepsr   r   r
   r   r   r   r#   r%   r   r   r   r	   Ú<module>   s   	