§
    �Štj¹  ã                   óš   — d Z ddlmZ ddlZddlmZmZ ddlmZ ddede	e
ef         fd	„Zddedefd
„Zddedefd„Zddeddfd„Zg d¢ZdS )zKThis package adds support for device memory management implemented in MTIA.é    )ÚAnyNé   )ÚDeviceÚis_initialized)Ú_get_device_indexÚdeviceÚreturnc                 ó~   — t          ¦   «         si S t          j                             t	          | 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Ú_CÚ_mtia_memoryStatsr   ©r   s    úO/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/mtia/memory.pyÚmemory_statsr      s;   € õ ÑÔð Øˆ	ÝŒ8×%Ò%Õ&7¸ÈÐ&NÑ&NÔ&NÑOÔOÐOó    c                 ó�   — 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   ÚdramÚ
peak_bytes©r   r   Úgetr   s    r   Úmax_memory_allocatedr      sE   € õ ÑÔð ØˆqÝ˜ÑÔ×#Ò# F¨AÑ.Ô.×2Ò2°<ÀÑCÔCÐCr   c                 ó�   — t          ¦   «         sdS t          | ¦  «                             dd¦  «                             dd¦  «        S )a?  Return the current MTIA memory occupied by tensors in bytes for a given device.

    Args:
        device (torch.device or int or str, optional): selected device. Returns
            statistic for the current device, given by :func:`~torch.mtia.current_device`,
            if :attr:`device` is ``None`` (default).
    r   r   Úallocated_bytesr   r   s    r   Úmemory_allocatedr   '   sF   € õ ÑÔð ØˆqÝ˜ÑÔ×#Ò# F¨AÑ.Ô.×2Ò2Ð3DÀaÑHÔHÐHr   c                 ó‚   — t          ¦   «         sdS t          j                             t	          | 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   Ú_mtia_resetPeakMemoryStatsr   r   s    r   Úreset_peak_memory_statsr   4   sA   € õ ÑÔð ØˆÝ	„H×'Ò'Õ(9¸&È4Ð(PÑ(PÔ(PÑQÔQÐQÐQÐQr   )r   r   r   r   )N)Ú__doc__Útypingr   r   Ú r   r   Ú_utilsr   ÚdictÚstrr   Úintr   r   r   Ú__all__© r   r   ú<module>r)      s(  ðð SÐ Rà Ð Ð Ð Ð Ð à €€€à $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø %Ð %Ð %Ð %Ð %Ð %ð
Pð 
P˜ð 
P¨4°°S°¬>ð 
Pð 
Pð 
Pð 
Pð
Dð 
D ð 
D°3ð 
Dð 
Dð 
Dð 
Dð
Ið 
I˜Vð 
I¨sð 
Ið 
Ið 
Ið 
IðRð R Fð R°dð Rð Rð Rð Rðð ð €€€r   