Ë
    ®Ó^j~  ã                   ó(  — d Z ddlZddlZddlmZ ddlmZmZm	Z	m
Z
 ddlZddlZddlmZ ddlmZ ddlmZ  ej&                  d	«      Zd
eeef   dddefd„Zde	eeef      dede
e	e   ef   fd„Zedefd„«       Zedefd„«       Zedefd„«       Zy)z)Utilities for the XGBoost Dask interface.é    N)Úcache)ÚAnyÚDictÚOptionalÚTuple)ÚVersion)Úparseé   )ÚConfigz[xgboost.dask]Úlocal_paramÚworkerzdistributed.WorkerÚreturnc                 óÞ   — |j                   j                  }d}dD ]F  }| j                  |d«      €Œ| j                  ||«      |k7  sŒ,t        j	                  d«       | |   } n |dk(  s|€|}|S )zIGet the number of threads from a worker and the user-supplied parameters.N)ÚnthreadÚn_jobsz-Overriding `nthreads` defined in dask worker.r   )ÚstateÚnthreadsÚgetÚLOGGERÚinfo)r   r   ÚdwntÚ	n_threadsÚps        ú]/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/xgboost/dask/utils.pyÚget_n_threadsr      s}   € ð �<‰<× Ñ €DØ€IØ"ò ˆØ�?‰?˜1˜dÓ#Ñ/°K·O±OÀAÀtÓ4LÐPTÓ4TÜ�K‰KÐGÔHØ# A™ˆIÙð	ð
 �A‚~˜Ð*Øˆ	ØÐó    ÚdconfigÚcoll_cfgc                 óÂ  — dg}d}d}| �8| D ]2  }||vrt        d|› �«      ‚t        j                  d|› d�t        «       Œ4 ni } | j	                  dd«      }|�'|j                  d«      r|j                  d«      r|d	d
 }|�#	 t        j                  j                  |«      \  }}|€
t        «       }|j                  �9|�+|j                  |k7  rt        d|› d|j                  › d�«      ‚|j                  }|j                  �M|dk7  r<|�:|j                  dk7  r+||j                  k7  rt        d|› d|j                  › d�«      ‚|j                  }||fS # t         $ r Y Œ¹w xY w)a  Get the tracker address from the optional user configuration.

    Parameters
    ----------
    dconfig :
        Dask global configuration.

    coll_cfg :
        Collective configuration.

    Returns
    -------
    The IP address along with the port number.

    Úscheduler_addressNr   zUnknown configuration: zeUse `coll_cfg` instead of the Dask global configuration store for the XGBoost tracker configuration: ú.ú[ú]é   éÿÿÿÿz\Conflicting host IP addresses from the dask configuration and the collective configuration: z v.s. zPConflicting ports from the dask configuration and the collective configuration: )Ú
ValueErrorÚwarningsÚwarnÚFutureWarningr   Ú
startswithÚendswithÚdistributedÚcommÚget_address_host_portr   Útracker_host_ipÚtracker_port)r   r   Úvalid_configÚhost_ipÚportÚks         r   Úget_address_from_userr5   !   sÅ  € ð& (Ð(€Là€GØ€DàÐØò 		ˆAØ˜Ñ$Ü Ð#:¸1¸#Ð!>Ó?Ð?Ü�M‰Mð?Ø?@¸cÀðDô õñ		ð ˆà�k‰kÐ-¨tÓ4€GØÐ˜w×1Ñ1°#Ô6¸7×;KÑ;KÈCÔ;Pà˜!˜B�-ˆØÐð	Ü'×,Ñ,×BÑBÀ7ÓK‰MˆG�Tð ÐÜ“8ˆØ×ÑÐ+ØÐ 8×#;Ñ#;¸wÒ#FÜð-Ø-4¨I°V¸H×<TÑ<TÐ;UÐUVðXóð ð ×*Ñ*ˆØ×ÑÐ(à�AŠIØÐ Ø×%Ñ%¨Ò*Ø˜×-Ñ-Ò-äð-Ø-1¨F°&¸×9NÑ9NÐ8OÈqðRóð ð ×$Ñ$ˆà�Dˆ=Ðøô3 ò 	Ùð	ús   Â"E Å	EÅEc                  ó4   — t        t        j                  «      S )N)Úparse_versionÚdaskÚ__version__© r   r   Ú_DASK_VERSIONr;   j   s   € äœ×)Ñ)Ó*Ð*r   c                  ó.   — t        «       t        d«      k\  S )Nz	2024.12.1©r;   r7   r:   r   r   Ú_DASK_2024_12_1r>   o   s   € ä‹?œm¨KÓ8Ñ8Ð8r   c                  ó.   — t        «       t        d«      k\  S )Nz2025.3.0r=   r:   r   r   Ú_DASK_2025_3_0r@   t   s   € ä‹?œm¨JÓ7Ñ7Ð7r   )Ú__doc__Úloggingr'   Ú	functoolsr   ÚfcacheÚtypingr   r   r   r   r8   r,   Úpackaging.versionr   r	   r7   Ú
collectiver   Ú	getLoggerr   ÚstrÚintr   r5   r;   Úboolr>   r@   r:   r   r   ú<module>rL      së   ðÙ /ã Û Ý %ß -Ó -ã Û Ý %Ý 4å à	ˆ×	Ñ	Ð+Ó	,€ð˜t C¨ H™~ð Ð7Kð ÐPSó ðFØ�d˜3 ˜8‘nÑ%ðFØ17ðFà
ˆ8�C‰=˜#ÐÑóFðR ð+�wò +ó ð+ð ð9˜ò 9ó ð9ð ð8˜ò 8ó ñ8r   