o
    bi-                     @   s@   d dl mZ d dlmZ d dlZd dlmZ G dd deZdS )    contextmanager)ListN)TorchDeviceManagerc                   @   sJ   e Zd ZdZde fddZdeej fddZ	defddZ
d	d
 ZdS )CPUTorchDeviceManagerzCPU device managerreturnc                 C      dS )NT selfr	   r	   X/home/ubuntu/.local/lib/python3.10/site-packages/ray/air/_internal/device_manager/cpu.pyis_available   s   z"CPUTorchDeviceManager.is_availablec                 C   s   t dgS )z?Gets the correct torch device list configured for this process.cpu)torchdevicer
   r	   r	   r   get_devices   s   z!CPUTorchDeviceManager.get_devicesc                 C   r   )z3Validate if the device type support create a streamFr	   r
   r	   r	   r   supports_stream   s   z%CPUTorchDeviceManager.supports_streamc                 C   s   t dd }| S )z&Return empty context mananger for CPU.c                   s   s    d V  d S )Nr	   r	   r	   r	   r   default_context_manager   s   
zICPUTorchDeviceManager.get_stream_context.<locals>.default_context_managerr   )r   streamr   r	   r	   r   get_stream_context   s   
z(CPUTorchDeviceManager.get_stream_contextN)__name__
__module____qualname____doc__boolr   r   r   r   r   r   r   r	   r	   r	   r   r   	   s    r   )
contextlibr   typingr   r   5ray.air._internal.device_manager.torch_device_managerr   r   r	   r	   r	   r   <module>   s
    