o
    ÒÙ¾i  ã                   @   sì  d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	 d dlm
Z
 d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm Z! d dlm"Z# d dlm$Z% d dlm&Z' d dlm(Z) d dl*m+Z+ d dl,m-Z- d dl*m.Z. d d l*m/Z/ d d!l*m0Z0 d d"l1m2Z2 d d#l1m3Z3 d d$l1m4Z4 d d%l1m5Z5 d d&l1m6Z6 d d'l1m7Z7 d d(l1m8Z8 d)S )*é   )ÚCudaRTLibraryÚcreate_shared_bufferÚfree_shared_buffer)Úpack_strided_memory)ÚMapping)ÚAllReduceFusionOp)ÚAllReduceFusionPattern)ÚAllReduceStrategyConfig)ÚAllReduceStrategyType)ÚQuantizationSFLayout)Ú#compute_fp4_swizzled_layout_sf_size)Úgen_trtllm_comm_module)Útrtllm_allreduce_fusion)Ú*trtllm_create_ipc_workspace_for_all_reduce)Ú1trtllm_create_ipc_workspace_for_all_reduce_fusion)Útrtllm_custom_all_reduce)Ú+trtllm_destroy_ipc_workspace_for_all_reduce)Ú2trtllm_destroy_ipc_workspace_for_all_reduce_fusion)Útrtllm_lamport_initialize)Útrtllm_lamport_initialize_all)Útrtllm_moe_allreduce_fusion)Ú$trtllm_moe_finalize_allreduce_fusion)Ú
all_reduce)Údispose)Úgen_vllm_comm_module)Úget_graph_buffer_ipc_meta)Úinit_custom_ar)Ú	meta_size)Úregister_buffer)Úregister_graph_buffers)ÚAllReduceFusionWorkspace)ÚMNNVLAllReduceFusionWorkspace)ÚTRTLLMAllReduceFusionWorkspace)Úallreduce_fusion)Ú!create_allreduce_fusion_workspace)ÚMoeAlltoAll)Úmoe_a2a_combine)Úmoe_a2a_dispatch)Úmoe_a2a_initialize)Ú#moe_a2a_get_workspace_size_per_rank)Úmoe_a2a_sanitize_expert_ids)Ú(moe_a2a_wrap_payload_tensor_in_workspaceN)9Úcuda_ipcr   r   r   Údlpack_utilsr   Úmappingr   Ú	trtllm_arr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   Úvllm_arr   Úvllm_all_reducer   Úvllm_disposer   r   Úvllm_get_graph_buffer_ipc_metar   Úvllm_init_custom_arr   Úvllm_meta_sizer   Úvllm_register_bufferr   Úvllm_register_graph_buffersÚ	allreducer    Útrtllm_mnnvl_arr!   r"   r#   r$   Útrtllm_moe_alltoallr%   r&   r'   r(   r)   r*   r+   © r;   r;   úL/home/ubuntu/.local/lib/python3.10/site-packages/flashinfer/comm/__init__.pyÚ<module>   sP    