a
    d                     @   sz   d dl mZmZmZ d dlZd dlmZ d dlmZ d dl	m
Z
 edZer^d dlZe ZndZdZG dd	 d	e
ZdS )
    )AnyDictListN)package_available)_DEVICE)AcceleratorpoptorchFc                   @   s   e Zd ZdZejddddZeee	e
f dddZddd	d
ZeeedddZeeee dddZeedddZeedddZeeddddZdS )IPUAcceleratorzAccelerator for IPUs.N)devicereturnc                 C   s   d S N selfr
   r   r   k/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/pytorch_lightning/accelerators/ipu.pysetup_device$   s    zIPUAccelerator.setup_devicec                 C   s   i S )z&IPU device stats aren't supported yet.r   r   r   r   r   get_device_stats'   s    zIPUAccelerator.get_device_stats)r   c                 C   s   d S r   r   )r   r   r   r   teardown+   s    zIPUAccelerator.teardown)devicesr   c                 C   s   | S )z!Accelerator device parsing logic.r   r   r   r   r   parse_devices.   s    zIPUAccelerator.parse_devicesc                 C   s   t t| S )z*Gets parallel devices for the Accelerator.)listranger   r   r   r   get_parallel_devices3   s    z#IPUAccelerator.get_parallel_devicesc                   C   s   dS )z!Get the devices when set to auto.   r   r   r   r   r   auto_device_count8   s    z IPUAccelerator.auto_device_countc                   C   s   t S r   )_IPU_AVAILABLEr   r   r   r   is_available?   s    zIPUAccelerator.is_available)accelerator_registryr   c                 C   s   |j d| | jj d d S )NZipu)description)register	__class____name__)clsr   r   r   r   register_acceleratorsC   s
    z$IPUAccelerator.register_accelerators)r"   
__module____qualname____doc__torchr
   r   r   r   strr   r   r   staticmethodintr   r   r   r   boolr   classmethodr$   r   r   r   r   r	   !   s   r	   )typingr   r   r   r(   Z lightning_utilities.core.importsr   Z lightning_fabric.utilities.typesr   Z*pytorch_lightning.accelerators.acceleratorr   Z_POPTORCH_AVAILABLEr   ZipuHardwareIsAvailabler   r	   r   r   r   r   <module>   s   
