o
    TiW
                  
   @   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 )   )SDAAOpBuilder    Nc                   @   s   e Zd Zedd ZdS )SDAAFusedAdamc                 G   s6   |\}}}}t jj||||g |||||
|||	 d S N)torchopssdaa
fused_adam)
chunk_sizenoop_flag_buffertensor_listslrbeta1beta2epsilonstepadam_w_modebias_correctionweight_decayargsg_tensor_lisp_tensor_lism_tensor_lisv_tensor_lis r   \/home/ubuntu/.local/lib/python3.10/site-packages/deepspeed/ops/op_builder/sdaa/fused_adam.pymulti_tensor_adam*   s   
zSDAAFusedAdam.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%   6   s   zFusedAdamBuilder.__init__c                 C   s   d| j  dS )Nzdeepspeed.ops.adam._op)r&   r'   r   r   r   absolute_name9   s   zFusedAdamBuilder.absolute_namec                 C      g S r   r   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   loadB   r/   zFusedAdamBuilder.load)T)r   r   r   	BUILD_VARr&   r%   r,   r.   r0   r2   __classcell__r   r   r)   r   r!   2   s    r!   )builderr   r   ImportErrorer   r!   r   r   r   r   <module>   s   
