o
    ˜à·iñ  ã                   @   sR   d Z ddlZddedB defdd„Zdedefdd	„ZddedB defd
d„ZdS )z/Utility functions for Helion kernel management.é    NÚ	device_idÚreturnc                 C   s$   | d u r	t j ¡ } t j | ¡}|jS ©N)ÚtorchÚcudaÚcurrent_deviceÚget_device_propertiesÚname)r   Úprops© r   úO/home/ubuntu/vllm_env/lib/python3.10/site-packages/vllm/kernels/helion/utils.pyÚget_gpu_name   s   
r   r	   c                 C   s8   | r|   ¡ s
tdƒ‚|  ¡ } |  dd¡} |  dd¡} | S )zô
    Canonicalize GPU name for use as a platform identifier.

    Converts to lowercase and replaces spaces and hyphens with underscores.
    e.g., "NVIDIA A100-SXM4-80GB" -> "nvidia_a100_sxm4_80gb"

    Raises ValueError if name is empty.
    zGPU name cannot be emptyú Ú_ú-)ÚstripÚ
ValueErrorÚlowerÚreplace)r	   r   r   r   Úcanonicalize_gpu_name   s   	r   c                 C   s   t t| ƒƒS r   )r   r   )r   r   r   r   Úget_canonical_gpu_name    s   r   r   )Ú__doc__r   ÚintÚstrr   r   r   r   r   r   r   Ú<module>   s
   