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 )FusedLambBuilderDS_BUILD_FUSED_LAMB
fused_lambc                    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_lamb.pyr	      s   zFusedLambBuilder.__init__c                 C   s   d| j  dS )Nzdeepspeed.ops.lamb._op)r
   r   r   r   r   absolute_name   s   zFusedLambBuilder.absolute_namec                 C   s   ddgS )Nzcsrc/lamb/fused_lamb_cuda.cppz#csrc/lamb/fused_lamb_cuda_kernel.cur   r   r   r   r   sources   s   zFusedLambBuilder.sourcesc                 C   s   dgS )Nzcsrc/includesr   r   r   r   r   include_paths   s   zFusedLambBuilder.include_pathsc                    s   t   }||   S )N)r   cxx_argsversion_dependent_macros)r   argsr   r   r   r      s   
zFusedLambBuilder.cxx_argsc                 C   sd   dg|    }|  r|  \}}|d| d| g7 }|S |tjdkr&dndddg|    |S )	Nz-O3z-DROCM_VERSION_MAJOR=%sz-DROCM_VERSION_MINOR=%swin32z-allow-unsupported-compiler z	-lineinfoz--use_fast_math)r   is_rocm_pytorchinstalled_rocm_versionextendsysplatformcompute_capability_args)r   
nvcc_flags
ROCM_MAJOR
ROCM_MINORr   r   r   	nvcc_args   s   zFusedLambBuilder.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   