o
    
۾i                     @   sr   d dl m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
 er%	 eeZG dd de
Zed	d
 ZdS )    )contextmanager)TYPE_CHECKINGN)
VllmConfig)init_logger)GPUModelRunnerc                       s@   e Zd ZdZdedejf fddZddd	Zdd
dZ	  Z
S )XPUModelRunnerzA model runner for XPU devices.vllm_configdevicec                    s>   t   t || W d    n1 sw   Y  d| _d S )NF)_torch_cuda_wrappersuper__init__cascade_attn_enabled)selfr   r	   	__class__ S/home/ubuntu/.local/lib/python3.10/site-packages/vllm/v1/worker/xpu_model_runner.pyr      s   
zXPUModelRunner.__init__returnNc                 C   s
   d | _ d S N)num_smsr   r   r   r   _init_device_properties   s   
z&XPUModelRunner._init_device_propertiesc                 C   s   t j  d S r   )torchxpusynchronizer   r   r   r   _sync_device"   s   zXPUModelRunner._sync_device)r   N)__name__
__module____qualname____doc__r   r   r	   r   r   r   __classcell__r   r   r   r   r      s    

r   c                   c   sB    zt jjt j_t jjt j_t jjt j_t jjt j_d V  W d S w r   )r   r   Streamcudacurrent_streamdefault_streamstreamr   r   r   r   r
   &   s   r
   )
contextlibr   typingr   r   vllm.configr   vllm.loggerr   vllm.v1.worker.gpu_model_runnerr   r   loggerr   r
   r   r   r   r   <module>   s   