a
    h                     @   s   d Z ddlmZmZ ddlZddlmZmZ ddlm	Z	 dee e
eef ddd	Zdee edd
dZdee ddddZg dZdS )zKThis package adds support for device memory management implemented in MTIA.    )AnyOptionalN   )	_device_tis_initialized)_get_device_index)devicereturnc                 C   s   t  s
i S tjt| ddS )a  Return a dictionary of MTIA memory allocator statistics for a given device.

    Args:
        device (torch.device, str, or int, optional) selected device. Returns
            statistics for the current device, given by current_device(),
            if device is None (default).
    Toptional)r   torch_CZ_mtia_memoryStatsr   r    r   ?/var/www/auris/lib/python3.9/site-packages/torch/mtia/memory.pymemory_stats   s    r   c                 C   s"   t  s
dS t| ddddS )a  Return the maximum memory allocated in bytes for a given device.

    Args:
        device (torch.device, str, or int, optional) selected device. Returns
            statistics for the current device, given by current_device(),
            if device is None (default).
    r   ZdramZ
peak_bytes)r   r   getr   r   r   r   max_memory_allocated   s    r   c                 C   s"   t  s
dS tjt| dd dS )a  Reset the peak memory stats for a given device.


    Args:
        device (torch.device, str, or int, optional) selected device. Returns
            statistics for the current device, given by current_device(),
            if device is None (default).
    NTr
   )r   r   r   Z_mtia_resetPeakMemoryStatsr   r   r   r   r   reset_peak_memory_stats'   s    	r   )r   r   r   )N)N)N)__doc__typingr   r   r    r   r   _utilsr   dictstrr   intr   r   __all__r   r   r   r   <module>   s   