o
    h)                  	   @   s  U d dl Z d dlZd dlZd dlZd dlZd dlmZmZmZm	Z	 er\dZ
eed< dZe	e ed< e Zeed< dZeed< d	Zeed
< dZe	e ed< dZe	e ed< dZeed< dZeed< dZeed< dZe	e ed< d Zeed< dZe	e ed< d	Zeed< dZe	e ed< dZe	e ed< dZe	e ed< dZ e	e ed< dZ!e	e ed< ej"#dZ$eed< ej"#dZ%eed< dZ&eed< dZ'eed < dZ(eed!< dZ)eed"< d#Z*eed$< d%Z+eed&< dZ,eed'< d(Z-eed)< dZ.e	e ed*< dZ/e	e ed+< d,Z0e1ed-< d Z2eed.< dZ3e	e ed/< dZ4e	e ed0< dZ5e	e ed1< d Z6e	e ed2< dZ7eed3< dZ8e	e ed4< dZ9eed5< dZ:eed6< ej";e$d7Z<eed8< dZ=eed9< d:Z>eed;< dZ?eed<< dZ@eed=< dZAeed>< d?ZBeed@< dZCeedA< dZDeedB< dZEeedC< dDZFeedE< ej";e$dFZGeedG< dHZHeedI< dJZIeedK< dLZJeedM< dNZKeedO< dPZLeedQ< dRZMeedS< dTZNeedU< dVZOeedW< dZPe	e edX< dZQe	e edY< dZReedZ< dZSeed[< dZTeed\< dZUeed]< dZVe	e ed^< dZWeed_< dZXeed`< daZYeedb< dHZZeedc< dZ[e	e\e  edd< dZ]e	e ede< dZ^e	e edf< dZ_eedg< dZ`eedh< dZaeedi< dZbeedj< dZceedk< dZdeedl< dZeeedm< g Zfe\e edn< dZgeedo< dZheedp< dZieedq< dZjeedr< dZkeeds< dZleedt< dZmeedu< dZneedv< dZoeedw< dZpeedx< dZqeedy< dZreedz< dZseed{< dZteed|< d}Zue1ed~< dZveed< dZweed< dZxeed< dZyeed< dZzeed< dZ{eed< dZ|eed< dZ}e1ed< dZ~eed< dZe	e ed< d Zeed< d}Zeed< d#Zeed< dZeed< d Zeed< dZeed< dZeed< dZeed< dZe	e ed< dZeed< dZeed< d Zeed< dZe	e ed< dZeed< dZeed< dZeed< dZeed< dZeed< dZeed< dZeed< dZeed< dZeed< d Zeed< dZeed< dZeed< dZeed< dZeed< dZeed< dZeed< d#Zeed< dZeed< dZeed< dZeed< dZe	e ed< dZeed< dZeed< dZeed< dZeed< dZe	e ed< dZeed< dZeed< dZeed< dZeed< dZeed< dZeed< dZe	e ed< dZeed< dZeed< dZeed< dZeed< dZeed< dZeed< dZe	e ed< dZeed< dZeed< dZeed< dZeed< dZeed< dd҄ ZddԄ Zde	e de	e fdd؄Zde	e de	e fddڄZde	e fdd܄Zi dWddބ dXddބ dYddބ dZddބ d[ddބ d\ddބ d^ddބ d_ddބ dddބ dddބ dddބ dedddބ dddބ d
ddބ dddބ dddބ i dddބ dddބ dddބ dddބ dddބ dddބ dddބ dddބ dddބ dddބ dddބ dddބ dddބ dddބ dd dބ dddބ d ddބ i d!ddބ d"ddބ d$ddބ d*ddބ d&ddބ d)ddބ d'd	dބ d+d
dބ d-ddބ d.ddބ d/ddބ d0ddބ d1ddބ d2ddބ d3ddބ d4ddބ d5ddބ i d6ddބ d=ddބ d>ddބ d@ddބ dAddބ dBddބ dEddބ dGddބ dIddބ dKddބ dMddބ dOddބ dQd dބ dSd!dބ dUd"dބ d8d#dބ d9d$dބ i dCd%dބ d;d&dބ d<d'dބ d]d(dބ d`d)dބ d*d+dބ d,d-dބ dbd.dބ dcd/dބ ddd0dބ ded1dބ dfd2dބ dgd3dބ dhd4dބ did5dބ djd6dބ dkd7dބ i dld8dބ dmd9dބ dnd:dބ dod;dބ dpd<dބ dqd=dބ drd>dބ dsd?dބ dtd@dބ dudAdބ dvdBdބ dwdCdބ dxdDdބ dydEdބ dzdFdބ d{dGdބ ddHdބ i ddIdބ ddJdބ ddKdބ ddLdބ ddMdބ d|dNdބ d~dOdބ ddPdބ ddQdބ ddRdބ ddSdބ ddTdބ ddUdބ ddVdބ ddWdބ ddXdބ ddYdބ i ddZdބ dd[dބ dd\dބ dd]dބ d^d_dބ dd`dބ ddadބ ddbdބ ddcdބ ddddބ ddedބ ddfdބ ddgdބ ddhdބ ddidބ ddjdބ ddkdބ i ddldބ ddmdބ ddndބ dǐdodބ dɐdpdބ dȐdqdބ ddrdބ ddsdބ ddtdބ ddudބ ddvdބ ddwdބ ddxdބ ddydބ dzd{dބ d|d}dބ dd~dބ i dddބ dddބ dddބ dddބ dddބ dddބ dddބ dddބ dĐddބ dŐddބ dƐddބ dddބ dddބ d̐ddބ dddބ dddބ dddބ ddބ ddބ ddބ ddބ ddބ ddބ ddބ dZeeeg ef f ed< defddZdd ZdefddZÐdefddZdefddZdS (      N)TYPE_CHECKINGAnyCallableOptional VLLM_HOST_IP	VLLM_PORTVLLM_RPC_BASE_PATHFVLLM_USE_MODELSCOPE<    VLLM_RINGBUFFER_WARNING_INTERVALVLLM_NCCL_SO_PATHLD_LIBRARY_PATHTVLLM_USE_TRITON_FLASH_ATTN$VLLM_V1_USE_PREFILL_DECODE_ATTENTION VLLM_USE_AITER_UNIFIED_ATTENTIONVLLM_FLASH_ATTN_VERSION
LOCAL_RANKCUDA_VISIBLE_DEVICESVLLM_ENGINE_ITERATION_TIMEOUT_SVLLM_API_KEYS3_ACCESS_KEY_IDS3_SECRET_ACCESS_KEYS3_ENDPOINT_URLVLLM_MODEL_REDIRECT_PATHz~/.cache/vllmVLLM_CACHE_ROOTz~/.config/vllmVLLM_CONFIG_ROOThttps://stats.vllm.aiVLLM_USAGE_STATS_SERVERVLLM_NO_USAGE_STATSVLLM_DO_NOT_TRACKVLLM_USAGE_SOURCE   VLLM_CONFIGURE_LOGGINGINFOVLLM_LOGGING_LEVELVLLM_LOGGING_PREFIXext://sys.stdoutVLLM_LOGGING_STREAMVLLM_LOGGING_CONFIG_PATHVLLM_LOGITS_PROCESSOR_THREADS      $@VLLM_LOG_STATS_INTERVALVLLM_TRACE_FUNCTIONVLLM_ATTENTION_BACKENDVLLM_USE_FLASHINFER_SAMPLERVLLM_PP_LAYER_PARTITIONVLLM_CPU_KVCACHE_SPACEVLLM_CPU_OMP_THREADS_BINDVLLM_CPU_NUM_OF_RESERVED_CPUVLLM_CPU_MOE_PREPACKVLLM_CPU_SGL_KERNEL	xla_cacheVLLM_XLA_CACHE_PATHVLLM_XLA_CHECK_RECOMPILATIONi   VLLM_FUSED_MOE_CHUNK_SIZE)VLLM_ENABLE_FUSED_MOE_ACTIVATION_CHUNKINGVLLM_USE_RAY_SPMD_WORKERVLLM_USE_RAY_COMPILED_DAGauto&VLLM_USE_RAY_COMPILED_DAG_CHANNEL_TYPE&VLLM_USE_RAY_COMPILED_DAG_OVERLAP_COMMVLLM_USE_RAY_WRAPPED_PP_COMMVLLM_XLA_USE_SPMDforkVLLM_WORKER_MULTIPROC_METHODassetsVLLM_ASSETS_CACHE   VLLM_IMAGE_FETCH_TIMEOUT   VLLM_VIDEO_FETCH_TIMEOUT
   VLLM_AUDIO_FETCH_TIMEOUT   VLLM_MEDIA_LOADING_THREAD_COUNT   VLLM_MAX_AUDIO_CLIP_FILESIZE_MBopencvVLLM_VIDEO_LOADER_BACKEND   VLLM_MM_INPUT_CACHE_GIBcudaVLLM_TARGET_DEVICEMAX_JOBSNVCC_THREADSVLLM_USE_PRECOMPILEDVLLM_DOCKER_BUILD_CONTEXT'VLLM_TEST_USE_PRECOMPILED_NIGHTLY_WHEELVLLM_KEEP_ALIVE_ON_ENGINE_DEATHCMAKE_BUILD_TYPEVERBOSEVLLM_ALLOW_LONG_MAX_MODEL_LENi'  VLLM_RPC_TIMEOUTVLLM_HTTP_TIMEOUT_KEEP_ALIVEVLLM_PLUGINSVLLM_LORA_RESOLVER_CACHE_DIRVLLM_TORCH_PROFILER_DIR!VLLM_TORCH_PROFILER_RECORD_SHAPES'VLLM_TORCH_PROFILER_WITH_PROFILE_MEMORYVLLM_TORCH_PROFILER_WITH_STACKVLLM_TORCH_PROFILER_WITH_FLOPSVLLM_USE_TRITON_AWQ VLLM_ALLOW_RUNTIME_LORA_UPDATINGVLLM_SKIP_P2P_CHECKVLLM_DISABLED_KERNELSVLLM_USE_V1VLLM_ROCM_USE_AITERVLLM_ROCM_USE_AITER_PAGED_ATTNVLLM_ROCM_USE_AITER_LINEARVLLM_ROCM_USE_AITER_MOEVLLM_ROCM_USE_AITER_RMSNORMVLLM_ROCM_USE_AITER_MLAVLLM_ROCM_USE_AITER_MHAVLLM_ROCM_USE_AITER_FP8BMMVLLM_ROCM_USE_SKINNY_GEMMVLLM_ROCM_FP8_PADDINGVLLM_ROCM_MOE_PADDINGVLLM_ROCM_CUSTOM_PAGED_ATTNVLLM_ENABLE_V1_MULTIPROCESSINGVLLM_LOG_BATCHSIZE_INTERVALVLLM_DISABLE_COMPILE_CACHE   Q_SCALE_CONSTANTK_SCALE_CONSTANTd   V_SCALE_CONSTANTVLLM_SERVER_DEV_MODE   VLLM_V1_OUTPUT_PROC_CHUNK_SIZEVLLM_MLA_DISABLEg      ?VLLM_RAY_PER_WORKER_GPUSVLLM_RAY_BUNDLE_INDICESVLLM_CUDART_SO_PATHVLLM_DP_RANKVLLM_DP_RANK_LOCALVLLM_DP_SIZEVLLM_DP_MASTER_IPVLLM_DP_MASTER_PORT   VLLM_MOE_DP_CHUNK_SIZEVLLM_RANDOMIZE_DP_DUMMY_INPUTSVLLM_MARLIN_USE_ATOMIC_ADDVLLM_MXFP4_USE_MARLINVLLM_V0_USE_OUTLINES_CACHEVLLM_V1_USE_OUTLINES_CACHEVLLM_TPU_BUCKET_PADDING_GAPVLLM_TPU_MOST_MODEL_LENVLLM_TPU_USING_PATHWAYSVLLM_USE_DEEP_GEMMVLLM_USE_DEEP_GEMM_E8M0VLLM_USE_DEEP_GEMM_E8M0_HOPPERVLLM_SKIP_DEEP_GEMM_WARMUPVLLM_USE_FUSED_MOE_GROUPED_TOPKVLLM_USE_FLASHINFER_MOE_FP8VLLM_USE_FLASHINFER_MOE_FP4
throughputVLLM_FLASHINFER_MOE_BACKENDVLLM_XGRAMMAR_CACHE_MB VLLM_MSGPACK_ZERO_COPY_THRESHOLD!VLLM_ALLOW_INSECURE_SERIALIZATION	localhostVLLM_NIXL_SIDE_CHANNEL_HOSTi  VLLM_NIXL_SIDE_CHANNEL_PORTnaiveVLLM_ALL2ALL_BACKENDi  "VLLM_MAX_TOKENS_PER_EXPERT_FP4_MOE%VLLM_TOOL_PARSE_REGEX_TIMEOUT_SECONDSVLLM_SLEEP_WHEN_IDLE   VLLM_MQ_MAX_CHUNK_BYTES_MBi,  "VLLM_EXECUTE_MODEL_TIMEOUT_SECONDSVLLM_KV_CACHE_LAYOUTVLLM_COMPUTE_NANS_IN_LOGITSVLLM_USE_NVFP4_CT_EMULATIONSNONE#VLLM_ROCM_QUICK_REDUCE_QUANTIZATION(VLLM_ROCM_QUICK_REDUCE_CAST_BF16_TO_FP16(VLLM_ROCM_QUICK_REDUCE_MAX_SIZE_BYTES_MBx   VLLM_NIXL_ABORT_REQUEST_TIMEOUTVLLM_USE_CUDNN_PREFILLVLLM_ENABLE_CUDAGRAPH_GCVLLM_LOOPBACK_IP2VLLM_ALLOW_CHUNKED_LOCAL_ATTN_WITH_HYBRID_KV_CACHEVLLM_ENABLE_RESPONSES_API_STOREVLLM_USE_TRTLLM_ATTENTION&VLLM_FLASHINFER_DISABLE_Q_QUANTIZATIONVLLM_HAS_FLASHINFER_CUBIN#VLLM_USE_FLASHINFER_MOE_MXFP4_MXFP8"VLLM_USE_FLASHINFER_MOE_MXFP4_BF16+VLLM_USE_FLASHINFER_MOE_MXFP4_MXFP8_CUTLASSVLLM_ALLREDUCE_USE_SYMM_MEMVLLM_TUNED_CONFIG_FOLDERVLLM_DISABLE_PAD_FOR_CUDAGRAPHVLLM_GPT_OSS_USE_CONTAINER_TOOL(VLLM_GPT_OSS_HARMONY_SYSTEM_INSTRUCTIONS VLLM_CUSTOM_SCOPES_FOR_PROFILING#VLLM_KV_EVENTS_USE_INT_BLOCK_HASHESc                   C      t dt jt jddS )NXDG_CACHE_HOME~z.cacheosgetenvpathjoin
expanduser r   r   4/usr/local/lib/python3.10/site-packages/vllm/envs.pyget_default_cache_root      r   c                   C   r   )NXDG_CONFIG_HOMEr   z.configr   r   r   r   r   get_default_config_root   r   r   valuereturnc                 C   s   | d u rd S t | S N)intr   r   r   r   maybe_convert_int   s   r   c                 C   s   | d u rd S t t| S r   )boolr   r   r   r   r   maybe_convert_bool   s   r   c               
   C   s|   dt jvrdS t dd} zt| W S  ty= } zddlm} || }|jr0td|  ddtd|  d|d}~ww )	zGet the port from VLLM_PORT environment variable.

    Returns:
        The port number as an integer if VLLM_PORT is set, None otherwise.

    Raises:
        ValueError: If VLLM_PORT is a URI, suggest k8s service discovery issue.
    r   N0r   )urlparsezVLLM_PORT 'z' appears to be a URI. This may be caused by a Kubernetes service discovery issue,check the warning in: https://docs.vllm.ai/en/stable/serving/env_vars.htmlz' must be a valid integer)r   environr   r   
ValueErrorurllib.parser   scheme)porterrr   parsedr   r   r   get_vllm_port   s*   
	


r   c                   C      t dd S )NrU   rT   r   r   lowerr   r   r   r   <lambda>       r   c                   C      t dd S )NrV   r   r   r   r   r   r   r          c                   C   r   )NrW   r   r   r   r   r   r     r   c                   C   s*   t jdd  dv ptt jdS )NrX   r   1trueZVLLM_PRECOMPILED_WHEEL_LOCATION)r   r   getstripr   r   r   r   r   r   r     s    c                   C      t jdd  dv S )NrY   r   r   r   r   r   r   r   r   r   r   r   r     s    c                   C      t ttddS )NrZ   r   r   r   r   r   r   r   r   r   r         c                   C   
   t dS )Nr\   r   r   r   r   r   r        
 c                   C   r   )Nr]   r   r   r   r   r   r   r     r   c                	   C       t jt dt jt dS )Nr   vllm)r   r   r   r   r   r   r   r   r   r   r   %      c                	   C   r   )Nr   r   r   r   r   r   r   r   r   r   r   r   r   0  r  c                   C      t ddS )Nr   r   r   r   r   r   r   r   ;  r   c                   C   s   t dt S )Nr	   )r   r   tempfile
gettempdirr   r   r   r   r   G  r   c                   C      t jdd dkS )Nr
   Falser   r   r   r   r   r   r   r   r   r   L  s    c                   C      t tjddS )Nr   60r   r   r   r   r   r   r   r   r   P      	CUDA_HOMEc                   C      t jdd S )Nr  r   r   r   r   r   r   r   r   U      c                   C   r  )Nr   r  r   r   r   r   r   Z  r  c                   C   r  )Nr   r  r   r   r   r   r   _  r  c                   C   s   t jdd dv S )Nr   Truer   r   r  r   r   r   r   r   c  s    c                   C      t dd dv S )Nr   r  r  r   r   r   r   r   r   i     c                   C   r  )Nr   r  r  r   r   r   r   r   r   o  r  c                   C      t tjdd S )Nr   r   r   r   r   r   r   r   r   r   v  r  "VLLM_TEST_DYNAMO_FULLGRAPH_CAPTUREc                   C   s   t tjdddkS )Nr  r   r   )r   r   r   r   r   r   r   r   r   z  s    VLLM_USE_STANDALONE_COMPILEc                   C   s   t jdddkS )Nr  r   r  r   r   r   r   r     r  c                   C   r	  )Nr   r   r  r   r   r   r   r     r  c                   C   r  )Nr   r  r   r   r   r   r     r  c                   C   r	  )Nr   r
  r  r   r   r   r   r     r  c                   C   r  )Nr   r  r   r   r   r   r     r  "VLLM_DEBUG_LOG_API_SERVER_RESPONSEc                   C   r  )Nr  r  r   r  r   r   r   r   r     s    c                   C   r  )Nr   r  r   r   r   r   r     r  c                   C   r  )Nr   r  r   r   r   r   r     r  c                   C   r  )Nr   r  r   r   r   r   r     r  c                   C      t jddS )Nr   r   r  r   r   r   r   r     r  c                   C      t jdddkS )Nr   r   r   r  r   r   r   r   r     r  c                   C   s$   t jdd pt jdd pddkS )Nr    ZDO_NOT_TRACKr   r   r  r   r   r   r   r     s
    c                   C   r  )Nr!   
productionr  r   r   r   r   r     r  c                   C      t tddS )Nr#   r   r   r   r   r   r   r   r   r     r   c                   C   r   )Nr)   r   r   r   r   r   r     r   c                   C   r   )Nr%   r$   r   r   upperr   r   r   r   r     r   c                   C   r  )Nr(   r'   r   r   r   r   r   r     r   c                   C   r  )Nr&   r   r   r   r   r   r   r     r   c                   C      dt jv rtt ddS d S )Nr*   r   r   r   r   r   r   r   r   r   r        
c                  C   s    t tdd } dkr| S dS )Nr,   z10.g        r+   floatr   r   )valr   r   r   r     s    c                   C   r  )Nr-   r   r  r   r   r   r   r     r   c                   C   r   )Nr.   r   r   r   r   r   r     r   c                   C   s    dt jv rttt jd S d S )Nr/   )r   r   r   r   r   r   r   r   r     s   
c                   C   r   )Nr0   r   r   r   r   r   r     r   c                   C   r!  )Nr1   r   r"  r   r   r   r   r     r#  c                   C   r  )Nr2   r=   r   r   r   r   r   r     r   c                   C   r!  )Nr3   r   r"  r   r   r   r   r     r#  c                   C   r   )Nr4   r   r   r   r   r   r   r     r   c                   C   r   )Nr5   r   r   r   r   r   r   r     r   c                   C   r   )Nr;   r   r   r   r   r   r   r   
  r   c                   C   r   )Nr<   r   r   r   r   r   r   r     r   c                   C   r  )Nr>   r=   r   r   r   r   r   r     r   c                   C   r   )Nr?   r   r   r   r   r   r   r   $  r   c                   C   r   )Nr@   r   r   r   r   r   r   r   ,  r   c                   C   r  )NrC   rB   r   r   r   r   r   r   1  r   c                
   C   "   t jt dt jt ddS )NrE   r   rD   r  r   r   r   r   r   5      c                   C   r  )NrG   5r  r   r   r   r   r   >  r   c                   C   r  )NrI   Z30r  r   r   r   r   r   C  r   c                   C   r  )NrK   10r  r   r   r   r   r   H  r   c                   C   r  )NrM   8r  r   r   r   r   r   N  r   c                   C   r  )NrO   Z25r  r   r   r   r   r   T  r   c                   C   r  )NrQ   rP   r   r   r   r   r   r   ^  r   c                   C   r  )NrS   4r  r   r   r   r   r   c  r   c                
   C   r'  )Nr7   r   r6   r  r   r   r   r   r   h  r(  c                   C   r   )Nr8   r   r   r   r   r   r   r   p  r   c                   C   r   )NrA   r   r   r   r   r   r   r   t  r   c                   C   r  )Nr9   Z32768r  r   r   r   r   r   v  r   c                   C   r   )Nr:   r   r   r   r   r   r   r   {      c                   C   r  )Nr[   r   r   r   r   r   r   r   r   r     r   c                   C   r   )Nr^   r   r   r   r   r   r   r   r        VLLM_TEST_FORCE_FP8_MARLINc                   C   r   )Nr0  r   r   r   r   r   r   r   r     r/  VLLM_TEST_FORCE_LOAD_FORMATc                   C   r  )Nr1  dummyr   r   r   r   r   r     r   c                   C   r  )Nr_   Z10000r  r   r   r   r   r     r   c                   C   r	  )Nr`   r)  r  r   r   r   r   r     r  c                   C   s   dt jvrd S t jd dS )Nra   ,r   r   splitr   r   r   r   r         c                   C   r   )Nrb   r   r   r   r   r   r     r   c                   C   s0   t dd d u r
d S t jt jt ddS )Nrc   .)r   r   r   abspathr   r   r   r   r   r     s    c                   C      t tdddkS )Nrd   r   r.  r   r   r   r   r     r   c                   C   r9  )Nre   r   r.  r   r   r   r   r     r-  c                   C   s   t tdddkS )Nrf   r   r   r.  r   r   r   r   r     r   c                   C   r9  )Nrg   r   r.  r   r   r   r   r     r   c                   C   r   )Nrh   r   r   r   r   r   r   r     r   c                   C   r   )Nri   r   r   r   r   r   r   r   r     r/  c                   C   s   t dddkS )Nrj   r   r   r   r   r   r   r     r   c                   C   s   dt jvrg S t jd dS )Nrk   r3  r4  r   r   r   r   r     r6  c                   C   r   )Nrl   r   r   r   r   r   r   r     r   c                   C   r  )Nrm   r  r  r   r   r   r   r   r         c                   C   r  )Nrn   r  r  r   r   r   r   r   r     r:  c                   C   r  )Nro   r  r  r   r   r   r   r   r     r:  c                   C   r  )Nrp   r  r  r   r   r   r   r   r     r:  c                   C   r  )Nrq   r  r  r   r   r   r   r   r     r:  c                   C   r  )Nrr   r  r  r   r   r   r   r   r     r:  c                   C   r  )Nrs   r  r  r   r   r   r   r   r     r:  c                   C   r  )Nrt   r  r  r   r   r   r   r   r     r:  c                   C   r  )Nru   r  r  r   r   r   r   r   r     r:  c                   C   r   )Nrv   r   r   r   r   r   r   r   #  r   c                   C   r   )Nrw   r   r   r   r   r   r   r   '  r   c                   C   r  )Nrx   r  r  r   r   r   r   r   r   +  r:  c                   C   r   )Nr   r   r  r   r   r   r   r   2  r   c                   C   r  )Nr   r  r  r   r   r   r   r   r   9  r  c                   C   r  )Nr   r  r   r   r   r   r   D  s    c                   C   r  )Nr~   200r  r   r   r   r   r   I  r   c                   C   r  )Nr   r;  r  r   r   r   r   r   L  r   c                   C   r  )Nr   100r  r   r   r   r   r   O  r   c                   C   r   )Nry   r   r   r   r   r   r   r   S  r   c                   C   r  )Nr{   z-1r$  r   r   r   r   r   U  r   c                   C   r   )Nr|   r   r   r   r   r   r   r   W  r   c                   C   r   )Nr   r   r   r   r   r   r   r   ]  r   c                   C   r  )Nr   Z128r  r   r   r   r   r   g  r   c                   C   r   )Nr   r   r   r   r   r   r   r   k  r   c                   C   r  )Nr   z1.0r$  r   r   r   r   r   q  r   c                   C   r  )Nr   r   r   r   r   r   r   r   w  r   c                   C   r   )Nr   r   r   r   r   r   r   |  r   c                   C   r  )Nr   r   r  r   r   r   r   r     r   c                   C   s   t tdtjt jS )Nr   )r   r   r   sysmodules__name__r   r   r   r   r   r     s    c                   C   r  )Nr   r   r  r   r   r   r   r     r   c                   C   r  )Nr   z	127.0.0.1r   r   r   r   r   r     r   c                   C   r  )Nr   r   r  r   r   r   r   r     r   c                   C   r  )Nr   256r  r   r   r   r   r     r   c                   C   r  )Nr   r   r   r  r   r   r   r   r     r  VLLM_CI_USE_S3c                   C   r  )NrA  r   r   r  r   r   r   r   r     r  c                   C   r  )Nr   r  r   r   r   r   r     r  c                   C   r  )Nr   r   r   r  r   r   r   r   r     r  c                   C   r  )Nr   )r   r   r   r   r   r   r   r   r     r  c                   C   r  )Nr   r   r   r  r   r   r   r   r     r  c                   C   r  )Nr   r   r   r  r   r   r   r   r     r  c                   C   s   dt jv rtt jd S dS )Nr   r   )r   r   r   r   r   r   r   r     s   
c                   C   r  )Nr   r  r   r   r   r   r     r  c                   C   s   t dtdd v S )NproxyZJAX_PLATFORMSr   )r   r   r   r   r   r   r   r   r     s    c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     s    
c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r  )Nr   Z512r  r   r   r   r   r     r   c                   C   r  )Nr   r@  r  r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r  )Nr   r   r   r   r   r   r   r     r   c                   C   r  )Nr   Z5557r  r   r   r   r   r     r   c                   C   r  )Nr   r   r   r   r   r   r   r   $  r   c                   C   r  )Nr   r   r   r   r   r   r   r   0  s    c                   C   r  )Nr   Z163840r  r   r   r   r   r   9  r   .VLLM_FLASHINFER_ALLREDUCE_FUSION_THRESHOLDS_MBc                   C   s   t tddS )NrC  z{})jsonloadsr   r   r   r   r   r   r   B  s    $VLLM_MOE_ROUTING_SIMULATION_STRATEGYc                   C   s   t jdd S )NrF  r   r  r   r   r   r   r   L  r  c                   C   r  )Nr   r   r  r   r   r   r   r   P  r   c                   C   r   )Nr   r   r   r   r   r   r   r   U  r   c                   C   r  )Nr   Z16r  r   r   r   r   r   [  r   c                   C   r  )Nr   Z300r  r   r   r   r   r   `  r   c                   C   r   )Nr   r   r   r   r   r   r   j  r   c                   C   r   )Nr   r   r   r   r   r   r   r   p  r   c                   C   r   )Nr   r   r   r   r   r   r   r   v  r   c                   C   r  )Nr   Z120r  r   r   r   r   r   }  r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r  )Nr   Fr   r   r   r   r   r     r   VLLM_USE_TRTLLM_FP4_GEMMc                   C   r   )NrG  r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r  )Nr   r   r   r   r   r   r   r     r   VLLM_PROCESS_NAME_PREFIXc                   C   r  )NrH  ZVLLMr   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     s    c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r-  c                   C   r   )Nr   r   r   r   r   r   r   r     r   c                   C   r   )Nr   r   r   r   r   r   r   r     r   )r   r   r   r   r   r   r   environment_variablesnamec                 C   s&   | t v r	t |   S tdtd| )Nmodule  has no attribute )rI  AttributeErrorr?  rJ  r   r   r   __getattr__     
rO  c                   C   s   t t S r   )listrI  keysr   r   r   r   __dir__  s   rS  c                 C   s&   | t v r	| tjv S tdtd| )z3Check if an environment variable is explicitly set.rK  rL  )rI  r   r   rM  r?  rN  r   r   r   is_set  rP  rT  use_v1c                 C   s&   t drtd| rdndtjd< d S )Nrl   zShould not call set_vllm_use_v1() if VLLM_USE_V1 is set explicitly by the user. Please raise this as a Github Issue and explicitly set VLLM_USE_V1=0 or 1.r   r   )rT  r   r   r   )rU  r   r   r   set_vllm_use_v1  s
   rV  c                  C   sN   g d} | D ]
}|t v sJ dqdd | D }tjt| dd }|S )a  
    WARNING: Whenever a new key is added to this environment
    variables, ensure that it is included in the factors list if
    it affects the computation graph. For example, different values
    of VLLM_PP_LAYER_PARTITION will generate different computation
    graphs, so it is included in the factors list. The env vars that
    affect the choice of different kernels or attention backends should
    also be included in the factors list.
    )*r0   r   r   rh   r   r   r  r9   r   r   r   r.   r/   rk   r   r   r   rG  r   r   r   r   r   r   r   r   r   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   r   r   r   z6Please update environment_variables_to_hash in envs.pyc                 S   s   g | ]}t |  qS r   )rI  ).0keyr   r   r   
<listcomp>=  s    
z compute_hash.<locals>.<listcomp>F)usedforsecurity)rI  hashlibmd5strencode	hexdigest)Zenvironment_variables_to_hashrX  ZfactorsZhash_strr   r   r   compute_hash  s   ,
r`  )r[  rD  r   r=  r  typingr   r   r   r   r   r]  __annotations__r   r   r  r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r#   r%   r&   r(   r)   r*   r,   r%  r-   r.   r/   r0   r1   r2   r3   r4   r5   r   r7   r8   r9   r:   r;   r<   r>   r?   r@   rA   rC   rE   rG   rI   rK   rM   rO   rQ   rS   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rQ  rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   r{   r|   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rI  dictrO  rS  rT  rV  r`  r   r   r   r   <module>   sV  
"!(,4?JQV[_dinrx~   
          "  &  +  -  /  3  5  7  :  A  C  G  K  O  V  \  c  o  s  x  }       	                $    /    5    =    B    F    O    T    Y    _    e    o    t    y                                         !      %      *      .      4      ;      B      J      P      W      ]      a      e      p      w      |                                                        &        ,        1        6        :        >        E        L        W        \        _        b        f        h        j        p        z        ~                                                                     "          &          .          2          6          ?          C          G          M          S          X          [          _          c          g          k          r          v          z          ~                                                           "            (            ,            0            9            
F            N            W            a            e            j            p            u                                                                                                              $              *              0              6              :              @              J              X       $       x	