o
    Ti                     @   s(   d dl mZ ddlZG dd deZdS )   )CUDAOpBuilder    Nc                       sP   e Zd ZdZdZ fddZdd Zdd Zd	d
 Z fddZ	dd Z
  ZS )FusedAdamBuilderDS_BUILD_FUSED_ADAM
fused_adamc                    s   t  j| jd d S )N)name)super__init__NAMEself	__class__ W/home/ubuntu/.local/lib/python3.10/site-packages/deepspeed/ops/op_builder/fused_adam.pyr	      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      ddgS )Nz!csrc/adam/fused_adam_frontend.cppzcsrc/adam/multi_tensor_adam.cur   r   r   r   r   sources      zFusedAdamBuilder.sourcesc                 C   r   )Nzcsrc/includesz	csrc/adamr   r   r   r   r   include_paths   r   zFusedAdamBuilder.include_pathsc                    s   t   }||   S )N)r   cxx_argsversion_dependent_macros)r   argsr   r   r   r      s   
zFusedAdamBuilder.cxx_argsc                 C   s@   dg|    }|  s|tjdkrdndddg|    |S )Nz-O3win32z-allow-unsupported-compiler z	-lineinfoz--use_fast_math)r   is_rocm_pytorchextendsysplatformcompute_capability_args)r   
nvcc_flagsr   r   r   	nvcc_args   s   zFusedAdamBuilder.nvcc_args)__name__
__module____qualname__	BUILD_VARr
   r	   r   r   r   r   r"   __classcell__r   r   r   r   r      s    r   )builderr   r   r   r   r   r   r   <module>   s   