o
    
۾i	                     @   s   d dl Z d dlZd dlmZ d dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZmZ d dlmZ d d	lmZ d d
lmZmZ d dlmZ d dlmZ ddlmZ eeZG dd deZdS )    N)Any)
VllmConfig)init_logger)current_platform)TorchProfilerWrapper)MemorySnapshot
format_gib)set_random_seed)report_usage_stats)Worker#init_worker_distributed_environment)init_workspace_manager)XPUModelRunner   )request_memoryc                       sB   e Zd ZdZ	ddededededef
 fdd	Zd
d Z	  Z
S )	XPUWorkerzA XPU worker class.Fvllm_config
local_rankrankdistributed_init_methodis_driver_workerc           	         s|   t  ||||| | j}|jdksJ t sJ d | _|j}|jdkr<|j d| j	 }t
||| jddgd| _d S d S )Nxputorchz-rank-CPUXPU)worker_namer   
activities)super__init__device_configdevice_typer   is_xpuprofilerprofiler_configinstance_idr   r   r   )	selfr   r   r   r   r   r   r#   r   	__class__ M/home/ubuntu/.local/lib/python3.10/site-packages/vllm/v1/worker/xpu_worker.pyr      s"   

zXPUWorker.__init__c                 C   s  | j j}t|tjr9|jdkr9t r9td| j | _t| j t	| j
j tj  tj| jj| _n	td| j j tdd}tdt| jj}|tjd< |tjd< t| jtjd< t| j| j| j| jtj t| j
j t   tj  t!| jd | _"}t#|| j$| _%t&'d	| j" t&'d
t(| j% | jjj)rdnd}t*| j| t+| j| j| _,| jdkrt-| j d S d S )Nr   zxpu:zNot support device type: CCL_ATL_TRANSPORTofiLOCAL_WORLD_SIZE
LOCAL_RANK)devicezworker init memory snapshot: %rzworker requested memory: %sGiB   r   r   ).r   r.   
isinstancer   typer   r!   r   
set_devicecheck_if_supports_dtypemodel_configdtyper   empty_cacheget_device_propertiestotal_memoryinit_gpu_memoryRuntimeErrorosgetenvstrparallel_config
world_sizeenvironr   r   r   r   dist_backendr	   seedgccollectr   init_snapshotr   cache_configrequested_memoryloggerdebugr   
enable_dbor   r   model_runnerr
   )r%   r.   ENV_CCL_ATL_TRANSPORTENV_LOCAL_WORLD_SIZErE   num_ubatchesr(   r(   r)   init_device7   s^   




	


zXPUWorker.init_device)F)__name__
__module____qualname____doc__r   intr=   boolr   rO   __classcell__r(   r(   r&   r)   r      s    r   ) rC   r;   typingr   r   vllm.configr   vllm.loggerr   vllm.platformsr   vllm.profiler.wrapperr   vllm.utils.mem_utilsr   r   vllm.utils.torch_utilsr	   vllm.v1.utilsr
   vllm.v1.worker.gpu_workerr   r   vllm.v1.worker.workspacer   vllm.v1.worker.xpu_model_runnerr   utilsr   rP   rH   r   r(   r(   r(   r)   <module>   s"   