
    j'                     J    d dl mZmZ d dlmZmZ d Zd Zd Zd Z	d Z
d Zd	S )
   )is_dep_availablerequire_deps)import_paddleimport_paddle_modulec                  |    t                      } |                                 }|                    d          d         S )N:    )r   
get_devicesplit)paddle
device_strs     a/lsinfo/ai/hellotax_ai/data_center/backend/venv/lib/python3.11/site-packages/paddlex/utils/env.pyget_device_typer      s5    __F""$$JC  ##    c                     t                      } | j        }d|v r|                    d          \  }}nd }|                    d          }t          |          dk    sJ t	          t
          |          \  }}}|r||||fS |||d fS )N-.   )r   __version__r   lenmapint)r   versiontagmajor_vminor_vpatch_vs         r   get_paddle_versionr      s    __F G
g~~}}S))mmC  Gw<<1 #C 1 1GWg
 /#--$..r   c                      t          d          } |                                 }|dk    rd S t          t          t          |                    d                              S Nzpaddle.versionFalser   )r   cudatupler   r   r   )paddle_versioncuda_versions     r   get_paddle_cuda_versionr&   +   sW    )*:;;N!&&((LwtS,,,S1122333r   c                      t          d          } |                                 }|dk    rd S t          t          t          |                    d                              S r    )r   cudnnr#   r   r   r   )r$   cudnn_versions     r   get_paddle_cudnn_versionr*   4   sW    )*:;;N"((**MtS---c2233444r   c                     t          d          r<t                      } | j                                        o|                                  S t          d           dd l}dd l}|j        	                                o|j
        j        S Npaddlepaddletorchr	   )r   r   deviceis_compiled_with_cudais_compiled_with_rocmr   
torch.cudatorch.versionr"   is_availabler   )r   r.   s     r   is_cuda_availabler5   @   s    '' @ M//11X&:V:V:X:X6X	

 	W z&&((?U]-??r   c                      d } t                      rht          d          r-t                      }|j        j                                        } n,t          d           dd l}|j                                        } | S r,   )r5   r   r   r/   r"   get_device_capabilityr   r2   )capr   r.   s      r   get_gpu_compute_capabilityr9   S   sz    
C 5N++ 
	5"__F-$::<<CC !!!*2244CJr   N)depsr   r   import_guardr   r   r   r   r&   r*   r5   r9    r   r   <module>r=      s    1 0 0 0 0 0 0 0 = = = = = = = =$ $ $/ / /"4 4 45 5 5@ @ @&    r   