o
    ÁÙ¾i5  ã                4   @   s¾   d dl mZ d dlZdejdeej dejdeej dejdeej d	eej d
eej deej dejdejdejdejdejdedededededededededededef4dd„ZdS )é    )ÚOptionalNÚaÚ	c_or_noneÚ
b_q_weightÚb_bias_or_noneÚb_scalesÚglobal_scale_or_noneÚb_zeros_or_noneÚg_idx_or_noneÚperm_or_noneÚ	workspaceÚsorted_token_idsÚ
expert_idsÚnum_tokens_post_paddedÚtopk_weightsÚmoe_block_sizeÚtop_kÚmul_topk_weightsÚis_epÚb_q_type_idÚsize_mÚsize_nÚsize_kÚ	is_k_fullÚuse_atomic_addÚuse_fp32_reduceÚis_zp_floatc                 C   sH   t jjjj| |||||||||	|
|||f||||||||||||dœŽS )N)r   r   r   r   r   r   r   r   r   r   r   r   )ÚtorchÚopsÚ
sgl_kernelÚmoe_wna16_marlin_gemmÚdefault)r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   © r"   úH/home/ubuntu/.local/lib/python3.10/site-packages/sgl_kernel/fused_moe.pyr       s:   
òær    )Útypingr   r   ÚTensorÚintÚboolr    r"   r"   r"   r#   Ú<module>   sn    ÿþýüûúùø	÷
öõôóòñðïîíìëêéèçæ