o
    TÃi§
  ã                   @   s4   d dl Z d dlmZ dd„ Zdd„ Zeƒ  eƒ  dS )é    N)ÚContiguousMemoryAllocatorc                  C   sº  t dtjdƒ} | jdd |  d¡ d¡ d¡}| jdd |  |¡ | jdd |  d¡ d¡ d¡}|  d	¡ d¡ d
¡}|  d¡ d¡ d¡}| jdd |  |¡ | jdd |  d¡ d¡ d¡}|  d	¡ d¡ d¡}|  d¡ d¡ d¡}| jdd |  d	¡ d¡ d¡}|  d¡ d¡ d¡}	| jdd |  |	¡ |  |¡ |  |¡ |  |¡ |  d¡ d¡ d¡}
| jdd | ¡ | ¡  | ¡  |
 ¡   	¡ dksÛJ dƒ‚d S )Ni   Úcpuéd   ©Ú
resolutioné@   ç        ç      ð?ç       @é   ç      @é€   ç      @ç      @ç      @ç      @ç       @ç      "@é   ç      $@g     ¨}@zTest failed)
r   ÚtorchÚhalfÚprint_allocationÚallocate_tensorÚmul_Úadd_Úrelease_tensorÚnormÚitem)ÚmemÚa1Úa2Úa3Úa4Úa5Úa6Úa7Úa8Úa9Úa10© r*   úO/home/ubuntu/.local/lib/python3.10/site-packages/deepspeed/runtime/zero/test.pyÚtest1
   s4   





4r,   c                  C   sô  t dtjdƒ} |  d¡ d¡ d¡}|  d¡ d¡ d¡}|  d¡ d¡ d¡}|  d¡ d¡ d¡}|  d¡ d¡ d	¡}|  d¡ d¡ d
¡}|  d¡ d¡ d¡}|  d¡ d¡ d¡}|  |¡ |  |¡ |  |¡ |  |¡ | jdd |  d¡ d¡ d¡}	|  d¡ d¡ d¡}
|  d¡ d¡ d¡}|  |¡ |  |¡ | jdd |  d¡ d¡ d¡}| jdd td|› ƒ td|	› ƒ td|
› ƒ td|› ƒ td|› ƒ | 	¡ |	 	¡  |
 	¡  | 	¡  | 	¡  dksøJ dƒ‚d S )Nr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   g      &@g      (@za7:za9:za10:za11:za12:g     Ì|@Ú
TestFailed)
r   r   r   r   r   r   r   r   Úprintr   )r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   Úa11Úa12r*   r*   r+   Útest2,   s8   





8r1   )r   Ú2deepspeed.runtime.zero.contiguous_memory_allocatorr   r,   r1   r*   r*   r*   r+   Ú<module>   s   " 
