
    {-jX#                     2   d dl Z dZdZdZdZdZdZdZdZdZ	dZ
dZdZdZdZd	Zd
ZdZdZd	ZdZg Zg dZddZdefdZdefdZdefdZd dl Z dZ G d de          Z ee          ZdefdZdefdZ defdZ!defdZ"defdZ#defdZ$defdZ%e	Z&d Z'dS )    Nz3.3.1310FalseT(7688495538f4d6c1893f084dd238a402e8f68ab6ON NoneOFF)cudacudnnncclshowxpuxpu_xrexpu_xcclxpu_xhpctensorrt
cuda_archshipreturnc                     t           rjt          dt                     t          dt                     t          dt                     t          dt
                     t          dt                     nt          dt                     t          dt                     t          dt                     t          d	t                     t          d
t                     t          dt                     t          dt                     t          dt                     t          dt                     t          dt                      t          dt"                     dS )a  Get the version of paddle if `paddle` package if tagged. Otherwise, output the corresponding commit id.

    Returns:
        If paddle package is not tagged, the commit-id of paddle will be output.
        Otherwise, the following information will be output.

        full_version: version of paddle

        major: the major version of paddle

        minor: the minor version of paddle

        patch: the patch level version of paddle

        rc: whether it's rc version

        cuda: the cuda version of package. It will return `False` if CPU version paddle package is installed

        cudnn: the cudnn version of package. It will return `False` if CPU version paddle package is installed

        xpu_xre: the xpu xre version of package. It will return `False` if non-XPU version paddle package is installed

        xpu_xccl: the xpu xccl version of package. It will return `False` if non-XPU version paddle package is installed

        xpu_xhpc: the xpu xhpc version of package. It will return `False` if non-XPU version paddle package is installed

        cinn: the cinn version of package. It will return `False` if paddle package is not compiled with CINN

    Examples:
        .. code-block:: python

            >>> import paddle

            >>> # Case 1: paddle is tagged with 2.2.0
            >>> paddle.version.show()
            >>> # doctest: +SKIP('Different environments yield different output.')
            full_version: 2.2.0
            major: 2
            minor: 2
            patch: 0
            rc: 0
            cuda: '10.2'
            cudnn: '7.6.5'
            xpu_xre: '4.32.0.1'
            xpu_xccl: '1.0.7'
            xpu_xhpc: '20231208'
            cinn: False
            >>> # doctest: -SKIP

            >>> # Case 2: paddle is not tagged
            >>> paddle.version.show()
            >>> # doctest: +SKIP('Different environments yield different output.')
            commit: cfa357e984bfd2ffa16820e354020529df434f7d
            cuda: '10.2'
            cudnn: '7.6.5'
            xpu_xre: '4.32.0.1'
            xpu_xccl: '1.0.7'
            xpu_xhpc: '20231208'
            cinn: False
            >>> # doctest: -SKIP
    zfull_version:zmajor:zminor:zpatch:zrc:zcommit:zcuda:zcudnn:zhip:znccl:zxpu_xre:z	xpu_xccl:z	xpu_xhpc:zcinn:ztensorrt_version:zcuda_archs:N)	is_taggedprintfull_versionmajorminorpatchrccommitcuda_versioncudnn_versionhip_versionnccl_versionxpu_xre_versionxpu_xccl_versionxpu_xhpc_versioncinn_versiontensorrt_versioncompiled_cuda_archs     W/var/www/html/banglarbhumi/venv/lib/python3.11/site-packages/paddle/version/__init__.pyr   r      s   |  !o|,,,hhheRi   	'<   	(M"""	&+	'<   	*o&&&	+'(((	+'(((	'<   	
/000	-,-----r,   c                      t           S N)with_mklr+   r,   r-   mklr1   n       Or,   c                      t           S r/   )with_hmlr+   r,   r-   hmlr5   q   r2   r,   c                      t           S )a  Get nccl version of paddle package.

    Returns:
        string: Return the version information of cuda nccl. If paddle package is CPU version, it will return False.

    Examples:
        .. code-block:: python

            >>> import paddle

            >>> paddle.version.nccl()
            >>> # doctest: +SKIP('Different environments yield different output.')
            '2804'

    )r$   r+   r,   r-   r   r   t   
      r,   a  Get cuda version of paddle package.

    Returns:
        string: Return the version information of cuda. If paddle package is CPU version, it will return False.

    Examples:
        .. code-block:: python

            >>> import paddle

            >>> paddle.version.cuda()
            >>> # doctest: +SKIP('Different environments yield different output.')
            '10.2'

    c                   h     e Zd Zdef fdZdefdZdefdZed             Zed             Z	 xZ
S )CudaVersionversionc                 H    t                                          | |          S r/   )super__new__)clsr:   	__class__s     r-   r=   zCudaVersion.__new__   s    wwsG,,,r,   r   c                      t          |           S r/   )strselfs    r-   __call__zCudaVersion.__call__   s     4yyr,   c                     d|  dS )NzCudaVersion('z')r+   rB   s    r-   __repr__zCudaVersion.__repr__   s    't''''r,   c                     t           S r/   )CUDA_FUNC_DOCrB   s    r-   __doc__zCudaVersion.__doc__   s    r,   c                 8    t          j        g t                    S )N)
parametersreturn_annotation)inspect	SignaturerA   rB   s    r-   __signature__zCudaVersion.__signature__   s"     !
 
 
 	
r,   )__name__
__module____qualname__rA   r=   rD   rF   propertyrI   rO   __classcell__)r?   s   @r-   r9   r9      s        -c - - - - - -#    
(# ( ( ( (   X 
 
 X
 
 
 
 
r,   r9   c                      t           S )a  Get cudnn version of paddle package.

    Returns:
        string: Return the version information of cudnn. If paddle package is CPU version, it will return False.

    Examples:
        .. code-block:: python

            >>> import paddle

            >>> paddle.version.cudnn()
            >>> # doctest: +SKIP('Different environments yield different output.')
            '7.6.5'

    )r"   r+   r,   r-   r   r      s
      r,   c                      t           S )a  Get xpu version of paddle package. The API is deprecated now, please use xpu_xhpc() instead.

    Returns:
        string: Return the version information of xpu. If paddle package is non-XPU version, it will return False.
    Examples:
        .. code-block:: python
            >>> import paddle
            >>> paddle.version.xpu()
            >>> # doctest: +SKIP('Different environments yield different output.')
            '20230114'
    r'   r+   r,   r-   r   r      s
     r,   c                      t           S )a  Get xpu xre version of paddle package.

    Returns:
        string: Return the version information of xpu. If paddle package is non-XPU version, it will return False.

    Examples:
        .. code-block:: python

            >>> import paddle

            >>> paddle.version.xpu_xre()
            >>> # doctest: +SKIP('Different environments yield different output.')
            '4.32.0.1'

    )r%   r+   r,   r-   r   r      s
      r,   c                      t           S )a  Get xpu xccl version of paddle package.

    Returns:
        string: Return the version information of xpu xccl. If paddle package is non-XPU version, it will return False.

    Examples:
        .. code-block:: python

            >>> import paddle

            >>> paddle.version.xpu_xccl()
            >>> # doctest: +SKIP('Different environments yield different output.')
            '1.0.7'

    )r&   r+   r,   r-   r   r      
      r,   c                      t           S )a  Get xpu xhpc version of paddle package.

    Returns:
        string: Return the version information of xpu xhpc. If paddle package is non-XPU version, it will return False.

    Examples:
        .. code-block:: python

            >>> import paddle

            >>> paddle.version.xpu_xhpc()
            >>> # doctest: +SKIP('Different environments yield different output.')
            '20231208'

    rW   r+   r,   r-   r   r      rZ   r,   c                      t           S )a  Get CINN version of paddle package.

    Returns:
        string: Return the version information of CINN. If paddle package is not compiled with CINN, it will return False.

    Examples:
        .. code-block:: python

            >>> import paddle

            >>> paddle.version.cinn()
            >>> # doctest: +SKIP('Different environments yield different output.')
            False

    )r(   r+   r,   r-   cinnr]     r7   r,   c                      t           S )a  Get TensorRT version of paddle package.

    Returns:
        string: Return the version information of TensorRT. If paddle package is not compiled with TensorRT, it will return False.

    Examples:
        .. code-block:: python

            >>> import paddle

            >>> paddle.version.tensorrt()
            >>> # doctest: +SKIP('Different environments yield different output.')
            False

    )r)   r+   r,   r-   r   r     rZ   r,   c                      t           S )a  Get compiled cuda archs of paddle package.

    Returns:
        list[int]: Return the compiled cuda archs if with gpu. If paddle package is not compiled with gpu, it will return "".

    Examples:
        .. code-block:: python

            >>> import paddle

            >>> paddle.version.cuda_archs()
            >>> # doctest: +SKIP('Different environments yield different output.')
            [86]

    )r*   r+   r,   r-   r   r   +  s
      r,   )r   N)(rM   r   r   r   r   r$   r   r!   r"   r#   r%   r&   r'   r   r    r0   r4   r(   r)   with_pip_cuda_librarieswith_pip_tensorrtr*   __all__r   rA   r1   r5   r   rH   r9   r   r   r   r   r   r   r]   r   r   r   r+   r,   r-   <module>rc      s     	=    
v
v
vO. O. O. O.bS    S    c    $ 
 
 
 
 
# 
 
 
. {<  s    $S        $#    $#    $c    $#    $     r,   