o
    Tiq                  
   @   s`   d dl mZ zddlZW n ey Z zW Y dZ[ndZ[ww G dd dZG dd deZdS )   )MLUOpBuilder    Nc                   @   s   e Zd Zedd ZdS )MLUFusedAdamc                 G   s:   t jj||d |d |d |d |||||||	|
 d S )Nr   r         )torchops	torch_mlu
fused_adam)
chunk_sizenoop_flag_buffertensor_listslrbeta1beta2epsilonstepadam_w_modebias_correctionweight_decayargs r   [/home/ubuntu/.local/lib/python3.10/site-packages/deepspeed/ops/op_builder/mlu/fused_adam.pymulti_tensor_adam   s   zMLUFusedAdam.multi_tensor_adamN)__name__
__module____qualname__staticmethodr   r   r   r   r   r      s    r   c                       sF   e Zd ZdZdZ fddZdd Zdd Zd	d
 ZdddZ	  Z
S )FusedAdamBuilderDS_BUILD_FUSED_ADAMr
   c                    s   t  j| jd d S )N)name)super__init__NAMEself	__class__r   r   r"      s   zFusedAdamBuilder.__init__c                 C   s   d| j  dS )Nzdeepspeed.ops.adam._op)r#   r$   r   r   r   absolute_name!   s   zFusedAdamBuilder.absolute_namec                 C      g S Nr   r$   r   r   r   sources$      zFusedAdamBuilder.sourcesc                 C   r*   r+   r   r$   r   r   r   include_paths'   r-   zFusedAdamBuilder.include_pathsTc                 C   s   t S r+   )r   )r%   verboser   r   r   load*   r-   zFusedAdamBuilder.load)T)r   r   r   	BUILD_VARr#   r"   r)   r,   r.   r0   __classcell__r   r   r&   r   r      s    r   )builderr   r   ImportErrorer   r   r   r   r   r   <module>   s   