o
    TÃi³  ã                   @   s4   d dl Z d dlmZ d dlmZ G dd„ deƒZdS )é    N)Ú	to_dlpack©Úfrom_dlpackc                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚCupyBackendc                 C   s   d S ©N© )Úselfr   r   úV/home/ubuntu/.local/lib/python3.10/site-packages/deepspeed/runtime/compression/cupy.pyÚ__init__   s   zCupyBackend.__init__c                 C   s   t  t|ƒ¡S r   )Úcupyr   r   )r   Útensorr   r   r	   Ú
torch2cupy   s   zCupyBackend.torch2cupyc                 C   s   t |ƒS r   r   )r   Úcupy_tensorr   r   r	   Ú
cupy2torch   s   zCupyBackend.cupy2torchc                 C   s(   t  |¡}t  ||¡}t j ¡  ¡  |S r   )r   ÚpackbitsÚsplitÚcudaÚget_current_streamÚsynchronize)r   Úcupy_bool_tensorÚ
num_chunksÚpacked_signÚsign_list_packedr   r   r	   Úcompress_by_chunk   s   
zCupyBackend.compress_by_chunkN)Ú__name__Ú
__module__Ú__qualname__r
   r   r   r   r   r   r   r	   r      s
    r   )r   Útorch.utils.dlpackr   r   Úobjectr   r   r   r   r	   Ú<module>   s   