From dec268d25261b8c391a931e242a2a4bc1b21c4ff Mon Sep 17 00:00:00 2001 From: root Date: Sun, 16 Aug 2026 17:15:11 +0000 Subject: [PATCH 1/2] data: full symbol dumps --- cat_files/symbol_dumps/ixformer_so_list.txt | 0 ...pkg__C.cpython-310-x86_64-linux-gnu.so.txt | 6 + ..._torch.cpython-310-x86_64-linux-gnu.so.txt | 49 + .../symbol_dumps/sym_ixpkg_libixformer.so.txt | 1341 +++++++++++++++++ cat_files/symbol_dumps/sym_libcuinfer.txt | 270 ++++ 5 files changed, 1666 insertions(+) create mode 100644 cat_files/symbol_dumps/ixformer_so_list.txt create mode 100644 cat_files/symbol_dumps/sym_ixpkg__C.cpython-310-x86_64-linux-gnu.so.txt create mode 100644 cat_files/symbol_dumps/sym_ixpkg__ixformer_torch.cpython-310-x86_64-linux-gnu.so.txt create mode 100644 cat_files/symbol_dumps/sym_ixpkg_libixformer.so.txt create mode 100644 cat_files/symbol_dumps/sym_libcuinfer.txt diff --git a/cat_files/symbol_dumps/ixformer_so_list.txt b/cat_files/symbol_dumps/ixformer_so_list.txt new file mode 100644 index 00000000..e69de29b diff --git a/cat_files/symbol_dumps/sym_ixpkg__C.cpython-310-x86_64-linux-gnu.so.txt b/cat_files/symbol_dumps/sym_ixpkg__C.cpython-310-x86_64-linux-gnu.so.txt new file mode 100644 index 00000000..a1f0238a --- /dev/null +++ b/cat_files/symbol_dumps/sym_ixpkg__C.cpython-310-x86_64-linux-gnu.so.txt @@ -0,0 +1,6 @@ +000000000008ed90 T PyInit__C +000000000009af00 T _ZSt15get_new_handlerv +000000000009ad80 T _ZdlPvSt11align_val_t +000000000009ad90 T _ZnwmSt11align_val_t +000000000009af70 T _fini +0000000000019000 T _init diff --git a/cat_files/symbol_dumps/sym_ixpkg__ixformer_torch.cpython-310-x86_64-linux-gnu.so.txt b/cat_files/symbol_dumps/sym_ixpkg__ixformer_torch.cpython-310-x86_64-linux-gnu.so.txt new file mode 100644 index 00000000..c6aa4fe0 --- /dev/null +++ b/cat_files/symbol_dumps/sym_ixpkg__ixformer_torch.cpython-310-x86_64-linux-gnu.so.txt @@ -0,0 +1,49 @@ +000000000005afb0 T PyInit__ixformer_torch +000000000004d870 T _ZN18ixformer_torch_ext12t5_split_qkvERN2at6TensorES2_S2_S2_ll +0000000000038020 T _ZN18ixformer_torch_ext14ixformer_solveERN2at6TensorES2_b +000000000003d8e0 T _ZN18ixformer_torch_ext14linear_i8w8o32ERN2at6TensorES2_S2_ +0000000000040a60 T _ZN18ixformer_torch_ext14rms_norm_quantERN2at6TensorES2_S2_d +000000000003a160 T _ZN18ixformer_torch_ext15ixformer_linearERN2at6TensorES2_RKN3c108optionalIS1_EES7_ +000000000004c530 T _ZN18ixformer_torch_ext15skip_layer_normERN2at6TensorES2_S2_S2_RKN3c108optionalIS1_EES2_bd +000000000004a650 T _ZN18ixformer_torch_ext16rms_norm_forwardERN2at6TensorES2_S2_d +0000000000056510 T _ZN18ixformer_torch_ext16vllm_copy_blocksERKSt6vectorIN2at6TensorESaIS2_EES6_RS2_ +0000000000056b00 T _ZN18ixformer_torch_ext16vllm_swap_blocksERN2at6TensorES2_RKSt6vectorIlSaIlEES7_ +0000000000041090 T _ZN18ixformer_torch_ext17vllm_gptq_shuffleERN2at6TensorERKN3c108optionalIS1_EE +0000000000039ff0 T _ZN18ixformer_torch_ext18get_ipc_shm_tensorERKSt6vectorIlSaIlEEN3c1010ScalarTypeERKNS5_6DeviceEm +000000000003b1e0 T _ZN18ixformer_torch_ext18ixformer_linear_exERN2at6TensorES2_RKN3c108optionalIS1_EE +0000000000034550 T _ZN18ixformer_torch_ext18lightllm_glm2_ropeERN2at6TensorES2_S2_ +0000000000049260 T _ZN18ixformer_torch_ext19weight_dequant_gptqERN2at6TensorES2_RKN3c108optionalIS1_EESsi +000000000003fde0 T _ZN18ixformer_torch_ext20dequant_add_residualERN2at6TensorES2_S2_RKN3c108optionalIS1_EEd +0000000000033e70 T _ZN18ixformer_torch_ext20gelu_and_mul_forwardERN2at6TensorES2_ +0000000000043820 T _ZN18ixformer_torch_ext20quantized_linear_awqERN2at6TensorES2_S2_RKN3c108optionalIS1_EES7_ii +000000000004be40 T _ZN18ixformer_torch_ext20silu_and_mul_forwardERN2at6TensorES2_ +0000000000044b00 T _ZN18ixformer_torch_ext21quantized_linear_gptqERN2at6TensorES2_S2_RKN3c108optionalIS1_EES7_ii +00000000000465c0 T _ZN18ixformer_torch_ext21quantized_linear_int8ERN2at6TensorES2_S2_RKN3c108optionalIS1_EE +0000000000048bc0 T _ZN18ixformer_torch_ext21weight_dequant_float4ERN2at6TensorES2_Ssii +0000000000031780 T _ZN18ixformer_torch_ext22geglu_training_forwardERN2at6TensorES2_ +0000000000034ba0 T _ZN18ixformer_torch_ext22lightllm_apply_penaltyERN2at6TensorES2_S2_S2_S2_S2_l +0000000000031e70 T _ZN18ixformer_torch_ext23geglu_training_backwardERN2at6TensorES2_S2_ +0000000000036190 T _ZN18ixformer_torch_ext23lightllm_tokenattentionERN2at6TensorES2_S2_S2_S2_S2_dllS2_ +0000000000045a40 T _ZN18ixformer_torch_ext23quantized_linear_float4ERN2at6TensorES2_S2_RKN3c108optionalIS1_EEii +000000000003c410 T _ZN18ixformer_torch_ext25ixformer_linear_allreduceERN2at6TensorES2_RKN3c108optionalIS1_EE +00000000000474b0 T _ZN18ixformer_torch_ext25ixformer_quantized_linearERN2at6TensorES2_S2_SslRKN3c108optionalIS1_EES7_l +00000000000504a0 T _ZN18ixformer_torch_ext25tgi_rotary_embedding_neoxERN2at6TensorES2_S2_S1_S2_S1_b +0000000000040040 T _ZN18ixformer_torch_ext26dequant_silu_and_mul_quantERN2at6TensorES2_ddd +000000000004b090 T _ZN18ixformer_torch_ext26fused_add_rms_norm_forwardERN2at6TensorES2_S2_dd +0000000000035930 T _ZN18ixformer_torch_ext26lightllm_destindex_copy_kvERN2at6TensorES2_S2_ +0000000000054f60 T _ZN18ixformer_torch_ext26vllm_rotary_embedding_neoxERN2at6TensorES2_S2_lS2_lb +0000000000040c10 T _ZN18ixformer_torch_ext27add_residual_rms_norm_quantERN2at6TensorES2_S2_S2_d +000000000004e530 T _ZN18ixformer_torch_ext28t5_split_qkv_update_kv_cacheERN2at6TensorES2_S2_S2_S2_S2_ll +00000000000403f0 T _ZN18ixformer_torch_ext29dequant_rotary_embedding_neoxERN2at6TensorES2_S2_lS2_S2_S2_ddb +00000000000401f0 T _ZN18ixformer_torch_ext30dequant_silu_and_mul_quant_perERN2at6TensorES2_ddS2_S2_ +0000000000055af0 T _ZN18ixformer_torch_ext32vllm_cache_ops_reshape_and_cacheERN2at6TensorES2_S2_S2_S2_ll +0000000000049ba0 T _ZN18ixformer_torch_ext33ixformer_quantized_weight_dequantERN2at6TensorES2_SsSslRKN3c108optionalIS1_EEl +0000000000040df0 T _ZN18ixformer_torch_ext35dequant_add_residual_rms_norm_quantERN2at6TensorES2_S2_S2_RKN3c108optionalIS1_EEdd +00000000000517b0 T _ZN18ixformer_torch_ext37vllm_single_query_cached_kv_attentionERN2at6TensorES2_S2_S2_S2_dS2_S2_lllbRKN3c108optionalIS1_EE +0000000000053610 T _ZN18ixformer_torch_ext40vllm_single_query_cached_kv_attention_v2ERN2at6TensorElS2_S2_S2_S2_S2_S2_S2_dS2_S2_lllbRKN3c108optionalIS1_EE +000000000003f720 T _ZN18ixformer_torch_ext5quantERN2at6TensorES2_d +000000000003fa90 T _ZN18ixformer_torch_ext7dequantERN2at6TensorES2_RKN3c108optionalIS1_EEd +000000000003f8d0 T _ZN18ixformer_torch_ext9quant_perERN2at6TensorES2_S2_ +0000000000039ea0 T _ZN18ixformer_torch_ext9to_stringERKSt6vectorIlSaIlEE +0000000000072898 T _fini +0000000000029000 T _init diff --git a/cat_files/symbol_dumps/sym_ixpkg_libixformer.so.txt b/cat_files/symbol_dumps/sym_ixpkg_libixformer.so.txt new file mode 100644 index 00000000..07bb04e9 --- /dev/null +++ b/cat_files/symbol_dumps/sym_ixpkg_libixformer.so.txt @@ -0,0 +1,1341 @@ +00000000001d5530 T _Z10DumpBufferRKSsPcmb +00000000001d5800 T _Z13print_elementP6__halfib +00000000003c4c30 T _ZN4vllm22shuffle_exllama_weightEPjPiiiP11CUstream_st +00000000003c4bb0 T _ZN4vllm29__device_stub__shuffle_kernelEPjii +00000000003ca220 T _ZN4vllm35dequant_silu_and_mul_quant_launcherEPaPKiffPfS3_liP11CUstream_st +00000000003ca0d0 T _ZN4vllm35dequant_silu_and_mul_quant_launcherEPaPKifffliP11CUstream_st +00000000003c4b10 T _ZN4vllm37__device_stub__make_sequential_kernelEPKjPjPKiii +0000000000203100 T _ZN8ixformer10CudaStreamC1ENS_6DeviceEP11CUstream_st +0000000000203280 T _ZN8ixformer10CudaStreamC1ENS_6DeviceEP11CUstream_sti +0000000000203130 T _ZN8ixformer10CudaStreamC1ERKNS_6DeviceE +0000000000203180 T _ZN8ixformer10CudaStreamC1Ev +0000000000203100 T _ZN8ixformer10CudaStreamC2ENS_6DeviceEP11CUstream_st +0000000000203280 T _ZN8ixformer10CudaStreamC2ENS_6DeviceEP11CUstream_sti +0000000000203130 T _ZN8ixformer10CudaStreamC2ERKNS_6DeviceE +0000000000203180 T _ZN8ixformer10CudaStreamC2Ev +00000000002032c0 T _ZN8ixformer10CudaStreamD1Ev +00000000002032c0 T _ZN8ixformer10CudaStreamD2Ev +0000000000417a40 T _ZN8ixformer10TensorImpl10contiguousENS_12MemoryFormatE +00000000004178e0 T _ZN8ixformer10TensorImpl11set_stridesERKSt6vectorIlSaIlEE +0000000000418260 T _ZN8ixformer10TensorImpl13autograd_metaEv +0000000000417240 T _ZN8ixformer10TensorImpl17set_requires_gradEb +00000000004179c0 T _ZN8ixformer10TensorImpl21set_shape_and_stridesERKNS_15ShapeAndStridesE +0000000000418220 T _ZN8ixformer10TensorImpl4dataEv +00000000004182b0 T _ZN8ixformer10TensorImpl4gradESt10shared_ptrIS0_E +00000000004184c0 T _ZN8ixformer10TensorImpl7detach_Ev +00000000004183b0 T _ZN8ixformer10TensorImpl7grad_fnESt10shared_ptrINS_8autograd4NodeEE +00000000004177a0 T _ZN8ixformer10TensorImplC1ENS_13TensorOptionsENS_15ShapeAndStridesESt10shared_ptrINS_7StorageEE +0000000000416ef0 T _ZN8ixformer10TensorImplC1ENS_13TensorOptionsERKSt6vectorIlSaIlEE +00000000004173c0 T _ZN8ixformer10TensorImplC1ENS_8DataTypeENS_6DeviceEPNS_9AllocatorERKSt6vectorIlSaIlEE +0000000000417360 T _ZN8ixformer10TensorImplC1ENS_8DataTypeENS_6DeviceERKSt6vectorIlSaIlEE +0000000000417460 T _ZN8ixformer10TensorImplC1ENS_8DataTypeENS_6DeviceEbPNS_9AllocatorERKSt6vectorIlSaIlEE +0000000000417400 T _ZN8ixformer10TensorImplC1ENS_8DataTypeENS_6DeviceEbRKSt6vectorIlSaIlEE +00000000004177a0 T _ZN8ixformer10TensorImplC2ENS_13TensorOptionsENS_15ShapeAndStridesESt10shared_ptrINS_7StorageEE +0000000000416ef0 T _ZN8ixformer10TensorImplC2ENS_13TensorOptionsERKSt6vectorIlSaIlEE +00000000004173c0 T _ZN8ixformer10TensorImplC2ENS_8DataTypeENS_6DeviceEPNS_9AllocatorERKSt6vectorIlSaIlEE +0000000000417360 T _ZN8ixformer10TensorImplC2ENS_8DataTypeENS_6DeviceERKSt6vectorIlSaIlEE +0000000000417460 T _ZN8ixformer10TensorImplC2ENS_8DataTypeENS_6DeviceEbPNS_9AllocatorERKSt6vectorIlSaIlEE +0000000000417400 T _ZN8ixformer10TensorImplC2ENS_8DataTypeENS_6DeviceEbRKSt6vectorIlSaIlEE +0000000000200860 T _ZN8ixformer10set_deviceENS_6DeviceE +00000000002008c0 T _ZN8ixformer10set_deviceEi +00000000002005a0 T _ZN8ixformer10set_streamENS_10CudaStreamE +0000000000200790 T _ZN8ixformer10set_streamENS_10CudaStreamERKNS_6DeviceE +0000000000200690 T _ZN8ixformer10set_streamENS_10CudaStreamEi +00000000004197e0 T _ZN8ixformer10str_formatESsSt6vectorISsSaISsEE +0000000000202840 T _ZN8ixformer11CudaContext10set_streamENS_10CudaStreamE +0000000000202890 T _ZN8ixformer11CudaContext10set_streamENS_10CudaStreamERKNS_6DeviceE +00000000002029b0 T _ZN8ixformer11CudaContext10set_streamENS_10CudaStreamEi +00000000002024b0 T _ZN8ixformer11CudaContextC1Ev +00000000002024b0 T _ZN8ixformer11CudaContextC2Ev +0000000000203840 T _ZN8ixformer11distributed13to_nccl_dtypeENS_8DataTypeE +0000000000204480 T _ZN8ixformer11distributed14get_group_rankESt10shared_ptrINS0_4nccl9NcclGroupEE +0000000000203e80 T _ZN8ixformer11distributed14get_world_sizeESt10shared_ptrINS0_4nccl9NcclGroupEE +0000000000205180 T _ZN8ixformer11distributed14is_initializedESt10shared_ptrINS0_4nccl9NcclGroupEE +0000000000207360 T _ZN8ixformer11distributed14reduce_scatterERKNS_6TensorERS1_NS_8ReduceOpESt10shared_ptrINS0_4nccl9NcclGroupEE +00000000002045f0 T _ZN8ixformer11distributed15get_global_rankESt10shared_ptrINS0_4nccl9NcclGroupEEi +00000000002040f0 T _ZN8ixformer11distributed15get_group_ranksESt10shared_ptrINS0_4nccl9NcclGroupEE +0000000000204810 T _ZN8ixformer11distributed16get_global_ranksESt10shared_ptrINS0_4nccl9NcclGroupEERKSt6vectorIiSaIiEE +0000000000203900 T _ZN8ixformer11distributed17to_nccl_reduce_opENS_8ReduceOpE +0000000000204ee0 T _ZN8ixformer11distributed20create_nccl_id_bytesEv +0000000000204d70 T _ZN8ixformer11distributed20get_binded_device_idESt10shared_ptrINS0_4nccl9NcclGroupEE +0000000000204300 T _ZN8ixformer11distributed20get_group_world_sizeESt10shared_ptrINS0_4nccl9NcclGroupEE +0000000000204a40 T _ZN8ixformer11distributed21get_comm_group_streamESt10shared_ptrINS0_4nccl9NcclGroupEE +0000000000204be0 T _ZN8ixformer11distributed21set_comm_group_streamESt10shared_ptrINS0_4nccl9NcclGroupEERKNS_10CudaStreamE +0000000000204020 T _ZN8ixformer11distributed22get_default_comm_groupEv +0000000000203bd0 T _ZN8ixformer11distributed25init_communicator_by_ncclEm +0000000000204030 T _ZN8ixformer11distributed25update_default_comm_groupESt10shared_ptrINS0_4nccl9NcclGroupEE +00000000002090a0 T _ZN8ixformer11distributed3ipc13allreduce_ptrEmNS_8DataTypeEm +00000000002084e0 T _ZN8ixformer11distributed3ipc13wait_all_rankERNS1_15AllReduceParamsE +0000000000209e70 T _ZN8ixformer11distributed3ipc16get_comm_shm_ptrEv +00000000002088b0 T _ZN8ixformer11distributed3ipc16launch_allreduceERNS1_15AllReduceParamsE +00000000002090b0 T _ZN8ixformer11distributed3ipc16should_custom_arEmmmm +0000000000209480 T _ZN8ixformer11distributed3ipc17init_communicatorESt8functionIFvR19cudaIpcMemHandle_stPS3_iEEiim +00000000002090c0 T _ZN8ixformer11distributed3ipc18malloc_ipc_shm_memESt8functionIFvR19cudaIpcMemHandle_stPS3_iEEiim +0000000000209a30 T _ZN8ixformer11distributed3ipc20destroy_communicatorEv +0000000000208f80 T _ZN8ixformer11distributed3ipc21get_comm_shm_mem_sizeEv +0000000000208970 T _ZN8ixformer11distributed3ipc21init_allreduce_paramsERNS1_15AllReduceParamsE +00000000002086f0 T _ZN8ixformer11distributed3ipc21select_allreduce_algoERNS1_15AllReduceParamsE +00000000002085b0 T _ZN8ixformer11distributed3ipc21select_allreduce_algoEmi +00000000002098f0 T _ZN8ixformer11distributed3ipc24init_communicator_by_mpiEP19ompi_communicator_tm +0000000000208700 T _ZN8ixformer11distributed3ipc29dispatch_allreduce_group_sizeERNS1_15AllReduceParamsE +0000000000208480 T _ZN8ixformer11distributed3ipc35__device_stub__wait_all_rank_kernelENS1_15AllReduceParamsE +0000000000208b60 T _ZN8ixformer11distributed3ipc9allreduceEPvS2_NS_8DataTypeEmNS_8ReduceOpE +0000000000205fa0 T _ZN8ixformer11distributed3p2pERNS_6TensorEiiSt10shared_ptrINS0_4nccl9NcclGroupEE +0000000000211ed0 T _ZN8ixformer11distributed4nccl13to_group_rankERKSt6vectorIiSaIiEEi +0000000000212930 T _ZN8ixformer11distributed4nccl22get_default_nccl_groupEv +0000000000212870 T _ZN8ixformer11distributed4nccl25update_default_nccl_groupESt10shared_ptrINS1_9NcclGroupEE +0000000000211d70 T _ZN8ixformer11distributed4nccl8NcclComm11group_startEv +00000000002100f0 T _ZN8ixformer11distributed4nccl8NcclComm12is_availableEv +00000000002101d0 T _ZN8ixformer11distributed4nccl8NcclComm14get_world_sizeEv +00000000002101c0 T _ZN8ixformer11distributed4nccl8NcclComm14is_initializedEv +0000000000211900 T _ZN8ixformer11distributed4nccl8NcclComm14reduce_scatterEPKvPvm14ncclDataType_t11ncclRedOp_t +00000000002111b0 T _ZN8ixformer11distributed4nccl8NcclComm3p2pEPvm14ncclDataType_tii +00000000002108a0 T _ZN8ixformer11distributed4nccl8NcclComm4initEPP8ncclCommiii +0000000000210370 T _ZN8ixformer11distributed4nccl8NcclComm4initER12ncclUniqueIdiii +0000000000210f80 T _ZN8ixformer11distributed4nccl8NcclComm4recvEPvm14ncclDataType_ti +0000000000210d50 T _ZN8ixformer11distributed4nccl8NcclComm4sendEPKvm14ncclDataType_ti +0000000000210290 T _ZN8ixformer11distributed4nccl8NcclComm6deviceEv +0000000000211480 T _ZN8ixformer11distributed4nccl8NcclComm6reduceEPKvPvm14ncclDataType_t11ncclRedOp_ti +0000000000210360 T _ZN8ixformer11distributed4nccl8NcclComm6streamEP11CUstream_st +0000000000210350 T _ZN8ixformer11distributed4nccl8NcclComm6streamEv +0000000000210980 T _ZN8ixformer11distributed4nccl8NcclComm7barrierEv +0000000000210000 T _ZN8ixformer11distributed4nccl8NcclComm7destroyEv +0000000000210100 T _ZN8ixformer11distributed4nccl8NcclComm8get_rankEv +0000000000211b40 T _ZN8ixformer11distributed4nccl8NcclComm9allgatherEPKvPvm14ncclDataType_t +0000000000210b10 T _ZN8ixformer11distributed4nccl8NcclComm9allreduceEPKvPvm14ncclDataType_t11ncclRedOp_t +00000000002116d0 T _ZN8ixformer11distributed4nccl8NcclComm9broadcastEPvm14ncclDataType_ti +0000000000211e20 T _ZN8ixformer11distributed4nccl8NcclComm9group_endEv +0000000000210080 T _ZN8ixformer11distributed4nccl8NcclComm9move_dataERS2_ +0000000000210040 T _ZN8ixformer11distributed4nccl8NcclCommC1EOS2_ +000000000020fec0 T _ZN8ixformer11distributed4nccl8NcclCommC1Ev +0000000000210040 T _ZN8ixformer11distributed4nccl8NcclCommC2EOS2_ +000000000020fec0 T _ZN8ixformer11distributed4nccl8NcclCommC2Ev +000000000020ffb0 T _ZN8ixformer11distributed4nccl8NcclCommD1Ev +000000000020ffb0 T _ZN8ixformer11distributed4nccl8NcclCommD2Ev +00000000002100b0 T _ZN8ixformer11distributed4nccl8NcclCommaSEOS2_ +00000000002122a0 T _ZN8ixformer11distributed4nccl9NcclGroup10get_streamEv +00000000002122b0 T _ZN8ixformer11distributed4nccl9NcclGroup10set_streamEP11CUstream_st +0000000000212850 T _ZN8ixformer11distributed4nccl9NcclGroup11group_startEv +0000000000212090 T _ZN8ixformer11distributed4nccl9NcclGroup12is_availableEv +0000000000212180 T _ZN8ixformer11distributed4nccl9NcclGroup14get_group_sizeEv +0000000000212170 T _ZN8ixformer11distributed4nccl9NcclGroup14is_initializedEv +0000000000212830 T _ZN8ixformer11distributed4nccl9NcclGroup14reduce_scatterEPKvPvm14ncclDataType_t11ncclRedOp_t +00000000002124b0 T _ZN8ixformer11distributed4nccl9NcclGroup19init_nonmember_rankEiRKSt6vectorIiSaIiEEi +00000000002127f0 T _ZN8ixformer11distributed4nccl9NcclGroup3p2pEPvm14ncclDataType_tii +00000000002125d0 T _ZN8ixformer11distributed4nccl9NcclGroup4initEPP8ncclCommiRKSt6vectorIiSaIiEEi +00000000002122c0 T _ZN8ixformer11distributed4nccl9NcclGroup4initER12ncclUniqueIdiRKSt6vectorIiSaIiEEi +00000000002127e0 T _ZN8ixformer11distributed4nccl9NcclGroup4recvEPvm14ncclDataType_ti +00000000002127d0 T _ZN8ixformer11distributed4nccl9NcclGroup4sendEPKvm14ncclDataType_ti +00000000002120a0 T _ZN8ixformer11distributed4nccl9NcclGroup5ranksEv +0000000000212290 T _ZN8ixformer11distributed4nccl9NcclGroup6deviceEv +0000000000212800 T _ZN8ixformer11distributed4nccl9NcclGroup6reduceEPKvPvm14ncclDataType_t11ncclRedOp_ti +00000000002127c0 T _ZN8ixformer11distributed4nccl9NcclGroup7barrierEv +0000000000212080 T _ZN8ixformer11distributed4nccl9NcclGroup7destroyEv +0000000000212250 T _ZN8ixformer11distributed4nccl9NcclGroup8get_rankEv +0000000000212840 T _ZN8ixformer11distributed4nccl9NcclGroup9allgatherEPKvPvm14ncclDataType_t +0000000000212820 T _ZN8ixformer11distributed4nccl9NcclGroup9allreduceEPKvPvm14ncclDataType_t11ncclRedOp_t +0000000000212810 T _ZN8ixformer11distributed4nccl9NcclGroup9broadcastEPvm14ncclDataType_ti +0000000000212860 T _ZN8ixformer11distributed4nccl9NcclGroup9group_endEv +0000000000212260 T _ZN8ixformer11distributed4nccl9NcclGroup9nccl_commEv +0000000000211f70 T _ZN8ixformer11distributed4nccl9NcclGroupC1Ev +0000000000211f70 T _ZN8ixformer11distributed4nccl9NcclGroupC2Ev +0000000000211f90 T _ZN8ixformer11distributed4nccl9NcclGroupD1Ev +0000000000211f90 T _ZN8ixformer11distributed4nccl9NcclGroupD2Ev +0000000000205cf0 T _ZN8ixformer11distributed4recvERNS_6TensorEiSt10shared_ptrINS0_4nccl9NcclGroupEE +0000000000205970 T _ZN8ixformer11distributed4sendERKNS_6TensorEiSt10shared_ptrINS0_4nccl9NcclGroupEE +0000000000206330 T _ZN8ixformer11distributed6reduceERKNS_6TensorERS1_NS_8ReduceOpEiSt10shared_ptrINS0_4nccl9NcclGroupEE +0000000000205800 T _ZN8ixformer11distributed7barrierESt10shared_ptrINS0_4nccl9NcclGroupEE +0000000000205010 T _ZN8ixformer11distributed7destroyESt10shared_ptrINS0_4nccl9NcclGroupEE +0000000000203f50 T _ZN8ixformer11distributed8get_rankESt10shared_ptrINS0_4nccl9NcclGroupEE +00000000002077f0 T _ZN8ixformer11distributed9allgatherERKNS_6TensorERS1_St10shared_ptrINS0_4nccl9NcclGroupEE +0000000000206d20 T _ZN8ixformer11distributed9allreduceERKNS_6TensorERS1_NS_8ReduceOpESt10shared_ptrINS0_4nccl9NcclGroupEE +0000000000207290 T _ZN8ixformer11distributed9allreduceERNS_6TensorENS_8ReduceOpESt10shared_ptrINS0_4nccl9NcclGroupEE +00000000002069a0 T _ZN8ixformer11distributed9broadcastERNS_6TensorEiSt10shared_ptrINS0_4nccl9NcclGroupEE +0000000000205530 T _ZN8ixformer11distributed9new_groupER12ncclUniqueIdiRKSt6vectorIiSaIiEEiSt10shared_ptrINS0_4nccl9NcclGroupEE +00000000002052d0 T _ZN8ixformer11distributed9new_groupERKSt6vectorIhSaIhEEiRKS1_IiSaIiEEiSt10shared_ptrINS0_4nccl9NcclGroupEE +000000000040d7f0 T _ZN8ixformer12CpuAllocator10deallocateEPvRKNS_6DeviceE +000000000040d7e0 T _ZN8ixformer12CpuAllocator8allocateEmRKNS_6DeviceE +0000000000411640 T _ZN8ixformer12RawAllocator10deallocateEPvRKNS_6DeviceE +0000000000411690 T _ZN8ixformer12RawAllocator7DEFAULTEv +0000000000411540 T _ZN8ixformer12RawAllocator8allocateEmRKNS_6DeviceE +00000000004114e0 T _ZN8ixformer12RawAllocatorC1Ev +00000000004114e0 T _ZN8ixformer12RawAllocatorC2Ev +0000000000411520 T _ZN8ixformer12RawAllocatorD0Ev +0000000000411510 T _ZN8ixformer12RawAllocatorD1Ev +0000000000411510 T _ZN8ixformer12RawAllocatorD2Ev +0000000000202f50 T _ZN8ixformer12device_countEv +0000000000203020 T _ZN8ixformer12is_availableEv +00000000002023c0 T _ZN8ixformer13CudaAllocator10deallocateEPvRKNS_6DeviceE +0000000000202290 T _ZN8ixformer13CudaAllocator8allocateEmRKNS_6DeviceE +0000000000418fd0 T _ZN8ixformer13TensorOptions13pinned_memoryEb +0000000000418f70 T _ZN8ixformer13TensorOptions13requires_gradEb +0000000000418e80 T _ZN8ixformer13TensorOptions17set_requires_gradEb +0000000000419090 T _ZN8ixformer13TensorOptions5dtypeENS_8DataTypeE +0000000000419040 T _ZN8ixformer13TensorOptions6deviceENS_6DeviceE +0000000000419150 T _ZN8ixformer13TensorOptions6formatENS_12MemoryFormatE +00000000004190f0 T _ZN8ixformer13TensorOptions6layoutENS_12TensorLayoutE +0000000000418db0 T _ZN8ixformer13TensorOptionsC1ENS_6DeviceENS_8DataTypeE +0000000000418de0 T _ZN8ixformer13TensorOptionsC1ENS_6DeviceENS_8DataTypeENS_12TensorLayoutENS_12MemoryFormatE +0000000000418e10 T _ZN8ixformer13TensorOptionsC1ENS_6DeviceENS_8DataTypeENS_12TensorLayoutENS_12MemoryFormatEb +0000000000418e40 T _ZN8ixformer13TensorOptionsC1ENS_6DeviceENS_8DataTypeENS_12TensorLayoutENS_12MemoryFormatEbb +0000000000418db0 T _ZN8ixformer13TensorOptionsC2ENS_6DeviceENS_8DataTypeE +0000000000418de0 T _ZN8ixformer13TensorOptionsC2ENS_6DeviceENS_8DataTypeENS_12TensorLayoutENS_12MemoryFormatE +0000000000418e10 T _ZN8ixformer13TensorOptionsC2ENS_6DeviceENS_8DataTypeENS_12TensorLayoutENS_12MemoryFormatEb +0000000000418e40 T _ZN8ixformer13TensorOptionsC2ENS_6DeviceENS_8DataTypeENS_12TensorLayoutENS_12MemoryFormatEbb +0000000000201fc0 T _ZN8ixformer13ixf_to_stringENS_10DeviceTypeE +0000000000200bc0 T _ZN8ixformer13ixf_to_stringENS_8DataTypeE +0000000000416010 T _ZN8ixformer13ixf_to_stringERKNS_15ShapeAndStridesE +00000000004162e0 T _ZN8ixformer13ixf_to_stringERKSt6vectorIlSaIlEE +0000000000200810 T _ZN8ixformer14current_deviceEv +0000000000200540 T _ZN8ixformer14current_streamERKNS_6DeviceE +00000000002004e0 T _ZN8ixformer14current_streamEi +0000000000200480 T _ZN8ixformer14current_streamEv +0000000000203690 T _ZN8ixformer14default_streamERKNS_6DeviceE +00000000002036d0 T _ZN8ixformer14default_streamEv +0000000000415fe0 T _ZN8ixformer15ShapeAndStrides11set_stridesESt6vectorIlSaIlEE +0000000000415bb0 T _ZN8ixformer15ShapeAndStridesC1ERKSt6vectorIlSaIlEE +0000000000415b20 T _ZN8ixformer15ShapeAndStridesC1ERKSt6vectorIlSaIlEES5_ +0000000000415bb0 T _ZN8ixformer15ShapeAndStridesC2ERKSt6vectorIlSaIlEE +0000000000415b20 T _ZN8ixformer15ShapeAndStridesC2ERKSt6vectorIlSaIlEES5_ +0000000000415c60 T _ZN8ixformer15compute_stridesERKSt6vectorIlSaIlEE +00000000002003e0 T _ZN8ixformer15is_grad_enabledEv +0000000000414080 T _ZN8ixformer16serialize_tensorENS_6TensorE +0000000000200430 T _ZN8ixformer16set_grad_enabledEb +0000000000202d60 T _ZN8ixformer17CudaDeviceContextC1ENS_6DeviceE +0000000000202e60 T _ZN8ixformer17CudaDeviceContextC1Ei +0000000000202d60 T _ZN8ixformer17CudaDeviceContextC2ENS_6DeviceE +0000000000202e60 T _ZN8ixformer17CudaDeviceContextC2Ei +0000000000202f30 T _ZN8ixformer17CudaDeviceContextD1Ev +0000000000202f30 T _ZN8ixformer17CudaDeviceContextD2Ev +0000000000200a00 T _ZN8ixformer17current_allocatorEv +00000000004116f0 T _ZN8ixformer17get_default_dtypeEv +00000000004116e0 T _ZN8ixformer17set_default_dtypeENS_8DataTypeE +0000000000203030 T _ZN8ixformer18device_synchronizeEv +0000000000200ba0 T _ZN8ixformer18get_data_type_sizeENS_8DataTypeE +0000000000200390 T _ZN8ixformer18get_global_contextEv +00000000002030f0 T _ZN8ixformer18stream_synchronizeERKNS_10CudaStreamE +0000000000200930 T _ZN8ixformer20set_memory_allocatorENS_6memory19MemoryAllocatorTypeE +00000000002009a0 T _ZN8ixformer20set_memory_allocatorEPNS_9AllocatorENS_6memory19MemoryAllocatorTypeE +0000000000418f40 T _ZN8ixformer22is_differentiable_typeENS_8DataTypeE +0000000000201660 T _ZN8ixformer22parse_device_index_strERKSs +00000000004191a0 T _ZN8ixformer5splitERKSsS1_i +00000000002015c0 T _ZN8ixformer6DeviceC1ENS_10DeviceTypeE +00000000002015a0 T _ZN8ixformer6DeviceC1ENS_10DeviceTypeEi +0000000000201630 T _ZN8ixformer6DeviceC1ERKSs +0000000000201bd0 T _ZN8ixformer6DeviceC1Ei +0000000000201610 T _ZN8ixformer6DeviceC1Ev +00000000002015c0 T _ZN8ixformer6DeviceC2ENS_10DeviceTypeE +00000000002015a0 T _ZN8ixformer6DeviceC2ENS_10DeviceTypeEi +0000000000201630 T _ZN8ixformer6DeviceC2ERKSs +0000000000201bd0 T _ZN8ixformer6DeviceC2Ei +0000000000201610 T _ZN8ixformer6DeviceC2Ev +0000000000412060 T _ZN8ixformer6Tensor10contiguousENS_12MemoryFormatE +0000000000412c40 T _ZN8ixformer6Tensor11get_grad_fnEv +0000000000412010 T _ZN8ixformer6Tensor11set_stridesERKSt6vectorIlSaIlEE +0000000000412900 T _ZN8ixformer6Tensor13autograd_metaEv +0000000000412270 T _ZN8ixformer6Tensor14requires_grad_Eb +0000000000412250 T _ZN8ixformer6Tensor17set_requires_gradEb +0000000000412e40 T _ZN8ixformer6Tensor20reinterpret_cast_ptrENS_8DataTypeERKSt6vectorIlSaIlEE +0000000000412020 T _ZN8ixformer6Tensor21set_shape_and_stridesERKNS_15ShapeAndStridesE +00000000004137f0 T _ZN8ixformer6Tensor4add_ERKS0_ +0000000000413890 T _ZN8ixformer6Tensor4add_Ef +0000000000412160 T _ZN8ixformer6Tensor4dataEv +0000000000413bb0 T _ZN8ixformer6Tensor4div_ERKS0_ +0000000000413c50 T _ZN8ixformer6Tensor4div_Ef +0000000000412a80 T _ZN8ixformer6Tensor4gradERKS0_ +0000000000413a70 T _ZN8ixformer6Tensor4mul_ERKS0_ +0000000000413b10 T _ZN8ixformer6Tensor4mul_Ef +0000000000413930 T _ZN8ixformer6Tensor4sub_ERKS0_ +00000000004139d0 T _ZN8ixformer6Tensor4sub_Ef +0000000000413110 T _ZN8ixformer6Tensor5copy_ERKS0_b +0000000000412d70 T _ZN8ixformer6Tensor6zeros_Ev +0000000000412d30 T _ZN8ixformer6Tensor7detach_Ev +0000000000412b70 T _ZN8ixformer6Tensor7grad_fnESt10shared_ptrINS_8autograd4NodeEE +00000000004133d0 T _ZN8ixformer6Tensor7permuteERKSt6vectorIiSaIiEE +0000000000411f30 T _ZN8ixformer6Tensor8set_implESt10shared_ptrINS_10TensorImplEE +00000000004134b0 T _ZN8ixformer6Tensor9transposeEii +0000000000411800 T _ZN8ixformer6TensorC1ENS_8DataTypeENS_10DeviceTypeERKSt6vectorIlSaIlEE +00000000004117e0 T _ZN8ixformer6TensorC1ENS_8DataTypeERKNS_6DeviceERKSt6vectorIlSaIlEE +0000000000411880 T _ZN8ixformer6TensorC1ENS_8DataTypeERKNS_6DeviceEbNS_12TensorLayoutENS_12MemoryFormatEbRKSt6vectorIlSaIlEE +0000000000411850 T _ZN8ixformer6TensorC1ENS_8DataTypeERKNS_6DeviceEbRKSt6vectorIlSaIlEE +0000000000411770 T _ZN8ixformer6TensorC1ENS_8DataTypeERKSt6vectorIlSaIlEE +0000000000411a80 T _ZN8ixformer6TensorC1ENS_8DataTypeERKSt6vectorIlSaIlEES6_St10shared_ptrINS_7StorageEE +0000000000411900 T _ZN8ixformer6TensorC1ENS_8DataTypeERKSt6vectorIlSaIlEESt10shared_ptrINS_7StorageEE +0000000000411cf0 T _ZN8ixformer6TensorC1EOKS0_ +0000000000411a60 T _ZN8ixformer6TensorC1ERKNS_13TensorOptionsERKNS_15ShapeAndStridesESt10shared_ptrINS_7StorageEE +00000000004117c0 T _ZN8ixformer6TensorC1ERKNS_13TensorOptionsERKSt6vectorIlSaIlEE +0000000000411c10 T _ZN8ixformer6TensorC1ERKS0_ +0000000000411da0 T _ZN8ixformer6TensorC1ERKS0_b +0000000000411720 T _ZN8ixformer6TensorC1ERKSt6vectorIlSaIlEE +0000000000411700 T _ZN8ixformer6TensorC1ESt10shared_ptrINS_10TensorImplEE +0000000000411c00 T _ZN8ixformer6TensorC1Ev +0000000000411800 T _ZN8ixformer6TensorC2ENS_8DataTypeENS_10DeviceTypeERKSt6vectorIlSaIlEE +00000000004117e0 T _ZN8ixformer6TensorC2ENS_8DataTypeERKNS_6DeviceERKSt6vectorIlSaIlEE +0000000000411880 T _ZN8ixformer6TensorC2ENS_8DataTypeERKNS_6DeviceEbNS_12TensorLayoutENS_12MemoryFormatEbRKSt6vectorIlSaIlEE +0000000000411850 T _ZN8ixformer6TensorC2ENS_8DataTypeERKNS_6DeviceEbRKSt6vectorIlSaIlEE +0000000000411770 T _ZN8ixformer6TensorC2ENS_8DataTypeERKSt6vectorIlSaIlEE +0000000000411a80 T _ZN8ixformer6TensorC2ENS_8DataTypeERKSt6vectorIlSaIlEES6_St10shared_ptrINS_7StorageEE +0000000000411900 T _ZN8ixformer6TensorC2ENS_8DataTypeERKSt6vectorIlSaIlEESt10shared_ptrINS_7StorageEE +0000000000411cf0 T _ZN8ixformer6TensorC2EOKS0_ +0000000000411a60 T _ZN8ixformer6TensorC2ERKNS_13TensorOptionsERKNS_15ShapeAndStridesESt10shared_ptrINS_7StorageEE +00000000004117c0 T _ZN8ixformer6TensorC2ERKNS_13TensorOptionsERKSt6vectorIlSaIlEE +0000000000411c10 T _ZN8ixformer6TensorC2ERKS0_ +0000000000411da0 T _ZN8ixformer6TensorC2ERKS0_b +0000000000411720 T _ZN8ixformer6TensorC2ERKSt6vectorIlSaIlEE +0000000000411700 T _ZN8ixformer6TensorC2ESt10shared_ptrINS_10TensorImplEE +0000000000411c00 T _ZN8ixformer6TensorC2Ev +0000000000411e80 T _ZN8ixformer6TensoraSERKS0_ +00000000004100d0 T _ZN8ixformer6memory14PartitionRange4leftEv +00000000004100e0 T _ZN8ixformer6memory14PartitionRange5rightEv +00000000004100b0 T _ZN8ixformer6memory14PartitionRange8containeEm +00000000004100f0 T _ZN8ixformer6memory14PartitionRange9allocatorEv +00000000004100a0 T _ZN8ixformer6memory14PartitionRangeC1EmmPNS0_22CachingMemoryAllocatorE +00000000004100a0 T _ZN8ixformer6memory14PartitionRangeC2EmmPNS0_22CachingMemoryAllocatorE +00000000004103e0 T _ZN8ixformer6memory14PartitionTable12delete_rangeEm +00000000004101a0 T _ZN8ixformer6memory14PartitionTable18add_default_rangesEv +0000000000410450 T _ZN8ixformer6memory14PartitionTable19get_partition_rangeEm +0000000000410520 T _ZN8ixformer6memory14PartitionTable2atEi +0000000000410510 T _ZN8ixformer6memory14PartitionTable4sizeEv +0000000000410270 T _ZN8ixformer6memory14PartitionTable9add_rangeEmmNS0_12SearchPolicyE +0000000000410100 T _ZN8ixformer6memory14PartitionTableC1ENS_6DeviceEPNS_9AllocatorE +0000000000410100 T _ZN8ixformer6memory14PartitionTableC2ENS_6DeviceEPNS_9AllocatorE +0000000000410200 T _ZN8ixformer6memory14PartitionTableD1Ev +0000000000410200 T _ZN8ixformer6memory14PartitionTableD2Ev +000000000040e140 T _ZN8ixformer6memory22CachingMemoryAllocator10deallocateEPv +000000000040e090 T _ZN8ixformer6memory22CachingMemoryAllocator10deallocateEPvRKNS_6DeviceE +000000000040f3d0 T _ZN8ixformer6memory22CachingMemoryAllocator11empty_cacheERKNS_6DeviceE +000000000040ebc0 T _ZN8ixformer6memory22CachingMemoryAllocator12create_blockEm +000000000040ec50 T _ZN8ixformer6memory22CachingMemoryAllocator12delete_blockEPNS0_5BlockE +000000000040f190 T _ZN8ixformer6memory22CachingMemoryAllocator12delete_blockEPv +000000000040f400 T _ZN8ixformer6memory22CachingMemoryAllocator16free_blocks_sizeEv +000000000040dea0 T _ZN8ixformer6memory22CachingMemoryAllocator16raw_delete_blockEPNS0_5BlockE +000000000040f430 T _ZN8ixformer6memory22CachingMemoryAllocator16used_blocks_sizeEv +000000000040e1f0 T _ZN8ixformer6memory22CachingMemoryAllocator17search_in_cachingEm +000000000040f4d0 T _ZN8ixformer6memory22CachingMemoryAllocator18allocated_mem_sizeEv +000000000040f230 T _ZN8ixformer6memory22CachingMemoryAllocator18delete_free_blocksEm +000000000040e7d0 T _ZN8ixformer6memory22CachingMemoryAllocator18search_free_blocksEm +000000000040e4d0 T _ZN8ixformer6memory22CachingMemoryAllocator19change_block_statusEPNS0_5BlockENS0_12MemoryStatusE +000000000040f450 T _ZN8ixformer6memory22CachingMemoryAllocator20free_blocks_mem_sizeEv +000000000040f4a0 T _ZN8ixformer6memory22CachingMemoryAllocator20used_blocks_mem_sizeEv +000000000040f440 T _ZN8ixformer6memory22CachingMemoryAllocator21allocated_blocks_sizeEv +000000000040df00 T _ZN8ixformer6memory22CachingMemoryAllocator8allocateEm +000000000040def0 T _ZN8ixformer6memory22CachingMemoryAllocator8allocateEmRKNS_6DeviceE +000000000040db50 T _ZN8ixformer6memory22CachingMemoryAllocatorC1EPNS_9AllocatorERKNS_6DeviceE +000000000040dc00 T _ZN8ixformer6memory22CachingMemoryAllocatorC1EPNS_9AllocatorERKNS_6DeviceENS0_12SearchPolicyE +000000000040db50 T _ZN8ixformer6memory22CachingMemoryAllocatorC2EPNS_9AllocatorERKNS_6DeviceE +000000000040dc00 T _ZN8ixformer6memory22CachingMemoryAllocatorC2EPNS_9AllocatorERKNS_6DeviceENS0_12SearchPolicyE +000000000040ded0 T _ZN8ixformer6memory22CachingMemoryAllocatorD0Ev +000000000040dcb0 T _ZN8ixformer6memory22CachingMemoryAllocatorD1Ev +000000000040dcb0 T _ZN8ixformer6memory22CachingMemoryAllocatorD2Ev +00000000004107b0 T _ZN8ixformer6memory22MemoryPartitionManager10deallocateEPvRKNS_6DeviceE +0000000000410840 T _ZN8ixformer6memory22MemoryPartitionManager11empty_cacheERKNS_6DeviceE +0000000000410630 T _ZN8ixformer6memory22MemoryPartitionManager8allocateEmRKNS_6DeviceE +0000000000410550 T _ZN8ixformer6memory22MemoryPartitionManagerC1ENS_6DeviceEPNS_9AllocatorE +0000000000410550 T _ZN8ixformer6memory22MemoryPartitionManagerC2ENS_6DeviceEPNS_9AllocatorE +0000000000410610 T _ZN8ixformer6memory22MemoryPartitionManagerD0Ev +00000000004105e0 T _ZN8ixformer6memory22MemoryPartitionManagerD1Ev +00000000004105e0 T _ZN8ixformer6memory22MemoryPartitionManagerD2Ev +0000000000411270 T _ZN8ixformer6memory23create_memory_allocatorENS0_19MemoryAllocatorTypeE +0000000000410bc0 T _ZN8ixformer6memory26DeviceCachingMemoryManager10deallocateEPvRKNS_6DeviceE +0000000000410bf0 T _ZN8ixformer6memory26DeviceCachingMemoryManager11empty_cacheERKNS_6DeviceE +0000000000410a90 T _ZN8ixformer6memory26DeviceCachingMemoryManager13get_allocatorERKNS_6DeviceE +0000000000410c70 T _ZN8ixformer6memory26DeviceCachingMemoryManager7DEFAULTEv +0000000000410b80 T _ZN8ixformer6memory26DeviceCachingMemoryManager8allocateEmRKNS_6DeviceE +00000000004108d0 T _ZN8ixformer6memory26DeviceCachingMemoryManagerC1EPNS_9AllocatorE +00000000004108d0 T _ZN8ixformer6memory26DeviceCachingMemoryManagerC2EPNS_9AllocatorE +0000000000410a70 T _ZN8ixformer6memory26DeviceCachingMemoryManagerD0Ev +00000000004109f0 T _ZN8ixformer6memory26DeviceCachingMemoryManagerD1Ev +00000000004109f0 T _ZN8ixformer6memory26DeviceCachingMemoryManagerD2Ev +000000000040d850 T _ZN8ixformer6memory5Block13change_statusENS0_12MemoryStatusE +000000000040d820 T _ZN8ixformer6memory5Block3ptrEv +000000000040d830 T _ZN8ixformer6memory5Block4sizeEv +000000000040d840 T _ZN8ixformer6memory5Block6statusEv +000000000040d810 T _ZN8ixformer6memory5BlockC1EPvmNS0_12MemoryStatusE +000000000040d810 T _ZN8ixformer6memory5BlockC2EPvmNS0_12MemoryStatusE +000000000040d9e0 T _ZN8ixformer6memory9BlockList12delete_blockEPNS0_5BlockE +000000000040d8e0 T _ZN8ixformer6memory9BlockList3popEv +000000000040d8c0 T _ZN8ixformer6memory9BlockList4pushEPNS0_5BlockE +000000000040db20 T _ZN8ixformer6memory9BlockList4sizeEv +000000000040db30 T _ZN8ixformer6memory9BlockList5emptyEv +000000000040db40 T _ZN8ixformer6memory9BlockList6blocksEv +000000000040d860 T _ZN8ixformer6memory9BlockListC1EPNS0_5BlockE +000000000040d860 T _ZN8ixformer6memory9BlockListC2EPNS0_5BlockE +00000000002000e0 T _ZN8ixformer7Context10set_deviceERKNS_6DeviceE +00000000002002f0 T _ZN8ixformer7Context10set_deviceEi +00000000001fffd0 T _ZN8ixformer7Context10set_streamENS_10CudaStreamE +0000000000200050 T _ZN8ixformer7Context10set_streamENS_10CudaStreamEi +00000000001fffa0 T _ZN8ixformer7Context12cuda_contextEv +00000000001fff70 T _ZN8ixformer7Context13get_allocatorEv +00000000001fff20 T _ZN8ixformer7Context13set_allocatorENS_6memory19MemoryAllocatorTypeE +00000000001fff90 T _ZN8ixformer7Context13set_allocatorEPNS_9AllocatorENS_6memory19MemoryAllocatorTypeE +0000000000200340 T _ZN8ixformer7Context14global_contextEv +00000000001fff50 T _ZN8ixformer7Context16get_grad_enabledEv +00000000001fff60 T _ZN8ixformer7Context16set_grad_enabledEb +00000000001fff80 T _ZN8ixformer7Context18get_allocator_typeEv +0000000000200330 T _ZN8ixformer7Context22default_cuinfer_handleEv +00000000001ffdd0 T _ZN8ixformer7ContextC1Ev +00000000001ffdd0 T _ZN8ixformer7ContextC2Ev +0000000000411080 T _ZN8ixformer7DataPtr11set_deleterESt8functionIFvPvEE +00000000004111a0 T _ZN8ixformer7DataPtr17get_ref_owner_objEv +00000000004110e0 T _ZN8ixformer7DataPtr17set_ref_owner_objEPvSt8functionIFvS1_EE +00000000004111b0 T _ZN8ixformer7DataPtr5resetEPvRKNS_6DeviceESt8functionIFvS1_EE +0000000000410e70 T _ZN8ixformer7DataPtrC1EPvNS_6DeviceE +0000000000410eb0 T _ZN8ixformer7DataPtrC1EPvNS_6DeviceESt8functionIFvS1_EE +0000000000410e40 T _ZN8ixformer7DataPtrC1Ev +0000000000410e70 T _ZN8ixformer7DataPtrC2EPvNS_6DeviceE +0000000000410eb0 T _ZN8ixformer7DataPtrC2EPvNS_6DeviceESt8functionIFvS1_EE +0000000000410e40 T _ZN8ixformer7DataPtrC2Ev +0000000000410f20 T _ZN8ixformer7DataPtrD1Ev +0000000000410f20 T _ZN8ixformer7DataPtrD2Ev +0000000000416c90 T _ZN8ixformer7Storage11device_typeEv +0000000000416cb0 T _ZN8ixformer7Storage11get_ref_objEv +0000000000416cc0 T _ZN8ixformer7Storage11set_ref_objEPvSt8functionIFvS1_EE +0000000000416c50 T _ZN8ixformer7Storage4dataEv +0000000000416c70 T _ZN8ixformer7Storage6deviceEv +0000000000416c60 T _ZN8ixformer7Storage6nbytesEv +0000000000416c40 T _ZN8ixformer7Storage8data_ptrEv +0000000000416ca0 T _ZN8ixformer7Storage9allocatorEv +00000000004169f0 T _ZN8ixformer7StorageC1EPvRKNS_6DeviceEmSt8functionIFvS1_EE +0000000000416940 T _ZN8ixformer7StorageC1ERNS_7DataPtrEm +00000000004167c0 T _ZN8ixformer7StorageC1EmPNS_9AllocatorENS_6DeviceE +00000000004169f0 T _ZN8ixformer7StorageC2EPvRKNS_6DeviceEmSt8functionIFvS1_EE +0000000000416940 T _ZN8ixformer7StorageC2ERNS_7DataPtrEm +00000000004167c0 T _ZN8ixformer7StorageC2EmPNS_9AllocatorENS_6DeviceE +0000000000416b90 T _ZN8ixformer7StorageD1Ev +0000000000416b90 T _ZN8ixformer7StorageD2Ev +00000000001fc680 T _ZN8ixformer8autograd11AddFunction7forwardEPNS0_11FunctionCtxERKNS_6TensorES6_ +00000000001fc6a0 T _ZN8ixformer8autograd11AddFunction8backwardEPKNS0_11FunctionCtxERKSt6vectorINS_6TensorESaIS6_EE +00000000001ff550 T _ZN8ixformer8autograd18AccumulateGradNode5applyERKSt6vectorINS_6TensorESaIS3_EE +00000000001fc810 T _ZN8ixformer8autograd3addERKNS_6TensorES3_ +00000000001fc5d0 T _ZN8ixformer8autograd4Edge8functionEv +00000000001fc600 T _ZN8ixformer8autograd4Edge8input_nrEv +00000000001fc590 T _ZN8ixformer8autograd4EdgeC1ESt10shared_ptrINS0_4NodeEEj +00000000001fc590 T _ZN8ixformer8autograd4EdgeC2ESt10shared_ptrINS0_4NodeEEj +00000000001ff110 T _ZN8ixformer8autograd4Node10next_edgesEv +00000000001ff200 T _ZN8ixformer8autograd4Node10num_inputsEj +00000000001ff1f0 T _ZN8ixformer8autograd4Node10num_inputsEv +00000000001ff310 T _ZN8ixformer8autograd4Node11num_outputsEj +00000000001ff300 T _ZN8ixformer8autograd4Node11num_outputsEv +00000000001ff3c0 T _ZN8ixformer8autograd4Node16accumulate_inputERKNS_6TensorEj +00000000001ff0f0 T _ZN8ixformer8autograd4Node2idEv +00000000001ff520 T _ZN8ixformer8autograd4Node5applyERKSt6vectorINS_6TensorESaIS3_EE +00000000001ff100 T _ZN8ixformer8autograd4Node6inputsEv +00000000001ff320 T _ZN8ixformer8autograd4Node9set_inputERKNS_6TensorEj +00000000001fef90 T _ZN8ixformer8autograd4NodeC1ESt10shared_ptrINS0_11FunctionCtxEEPFSt6vectorINS_6TensorESaIS6_EEPKS3_RKS8_ES5_IS2_INS0_4EdgeEESaISG_EE +00000000001fef90 T _ZN8ixformer8autograd4NodeC2ESt10shared_ptrINS0_11FunctionCtxEEPFSt6vectorINS_6TensorESaIS6_EEPKS3_RKS8_ES5_IS2_INS0_4EdgeEESaISG_EE +00000000004196a0 T _ZN8ixformer8to_lowerERKSs +0000000000419740 T _ZN8ixformer8to_upperERKSs +000000000037aed0 T _ZN8ixformer9functions10contiguousERKNS_6TensorERS1_ +000000000037aee0 T _ZN8ixformer9functions10contiguousERNS_6TensorE +00000000003e2810 T _ZN8ixformer9functions10empty_likeERKNS_6TensorE +00000000003e2740 T _ZN8ixformer9functions10empty_likeERKNS_6TensorENS_8DataTypeE +00000000003e2670 T _ZN8ixformer9functions10empty_likeERKNS_6TensorERKNS_6DeviceE +00000000003e25a0 T _ZN8ixformer9functions10empty_likeERKNS_6TensorERKSt6vectorIlSaIlEE +00000000003e24e0 T _ZN8ixformer9functions10empty_likeERKNS_6TensorERKSt6vectorIlSaIlEENS_8DataTypeE +00000000003e5080 T _ZN8ixformer9functions10reduce_sumERKNS_6TensorERKSt6vectorIiSaIiEEb +00000000003e5f00 T _ZN8ixformer9functions10transpose_ERNS_6TensorEii +00000000003e2bd0 T _ZN8ixformer9functions10zeros_likeERKNS_6TensorE +00000000003e2ab0 T _ZN8ixformer9functions10zeros_likeERKNS_6TensorERKNS_6DeviceE +00000000003f5c10 T _ZN8ixformer9functions11FastSoftmaxERKNS_6TensorERS1_P11CUstream_st +000000000037a180 T _ZN8ixformer9functions11_contiguous24launch_contiguous_kernelERKNS_6TensorERS2_ +00000000003a3690 T _ZN8ixformer9functions11gauss_smallEiiiPfS1_S1_P11CUstream_st +000000000038d670 T _ZN8ixformer9functions11glmSplitQkvEP6__halfS2_S2_S2_iiiiiP11CUstream_st +00000000003e2cf0 T _ZN8ixformer9functions11pad_forwardERNS_6TensorESt6vectorIiSaIiEES2_Ssf +000000000039da90 T _ZN8ixformer9functions12cuinfer_gemmEPK6__halfS3_S3_PS1_iiiilllfiP11CUstream_stP14cuinferContext +000000000039de80 T _ZN8ixformer9functions12cuinfer_gemmEPKvS2_S2_Pviiiilllfi14cudaDataType_tP11CUstream_stP14cuinferContext +0000000000217f20 T _ZN8ixformer9functions12gelu_forwardERKNS_6TensorE +0000000000217b10 T _ZN8ixformer9functions12gelu_forwardERKNS_6TensorERS1_ +00000000003c1be0 T _ZN8ixformer9functions12t5_split_qkvEP6__halfS2_S2_S2_iiiiP11CUstream_st +000000000030a3e0 T _ZN8ixformer9functions13chunk_forwardERKNS_6TensorEll +00000000002174f0 T _ZN8ixformer9functions13gelu_backwardERKNS_6TensorES3_ +00000000003f9990 T _ZN8ixformer9functions13split_forwardERKNS_6TensorERKSt6vectorIlSaIlEEl +00000000003f9560 T _ZN8ixformer9functions13split_forwardERKNS_6TensorEll +0000000000306e70 T _ZN8ixformer9functions14bnb_mm_dequantERNS_6TensorES2_S2_S2_S2_S2_iibS2_ +000000000030b6b0 T _ZN8ixformer9functions14concat_forwardERKSt6vectorINS_6TensorESaIS2_EEi +000000000030a640 T _ZN8ixformer9functions14concat_forwardERKSt6vectorINS_6TensorESaIS2_EEiRS2_ +0000000000387320 T _ZN8ixformer9functions14conv2d_forwardERKNS_6TensorES3_S3_St5tupleIJiiEES5_S5_i +00000000003857d0 T _ZN8ixformer9functions14conv2d_forwardERKNS_6TensorES3_St5tupleIJiiEES5_S5_i +000000000038da90 T _ZN8ixformer9functions14glmSplitMqaQkvEP6__halfS2_S2_S2_iiiiiiP11CUstream_st +00000000003dd020 T _ZN8ixformer9functions14linear_forwardERKNS_6TensorES3_ +00000000003dd140 T _ZN8ixformer9functions14linear_forwardERKNS_6TensorES3_S3_ +000000000038dde0 T _ZN8ixformer9functions15check_glm_numelERNS_6TensorEi +000000000039e270 T _ZN8ixformer9functions15cuinfer_gemm_exEPKvS2_S2_Pviiiilllfi14cudaDataType_tP11CUstream_stP14cuinferContextS3_ +000000000039e720 T _ZN8ixformer9functions15cuinfer_nn_gemmEPK6__halfS3_S3_PS1_iiiilllfiP11CUstream_stP14cuinferContext +00000000003dc000 T _ZN8ixformer9functions15linear_forward_ERKNS_6TensorES3_RS1_ +00000000003dab20 T _ZN8ixformer9functions15linear_forward_ERKNS_6TensorES3_S3_RS1_ +00000000003b6240 T _ZN8ixformer9functions15softmax_2D_opt1EP6__halfS2_iiP11CUstream_st +00000000003f6070 T _ZN8ixformer9functions15softmax_forwardERKNS_6TensorERS1_i +000000000038f970 T _ZN8ixformer9functions16IxinferGroupnormEP6__halfS2_S2_S2_iiiifbiP11CUstream_st +00000000002348d0 T _ZN8ixformer9functions16binary_operators14init_cvt_tableEv +0000000000234c00 T _ZN8ixformer9functions16binary_operators17create_out_tensorERKNS_6TensorES4_RKSt6vectorIlSaIlEEb +0000000000234df0 T _ZN8ixformer9functions16binary_operators17create_out_tensorERKNS_6TensorES4_b +00000000003e6320 T _ZN8ixformer9functions16rms_norm_forwardERNS_6TensorES2_S2_f +00000000003ed2d0 T _ZN8ixformer9functions17ApplyRotaryPosEmbEP6__halfS2_S2_S2_S2_S2_PliiiiP11CUstream_st +00000000003072d0 T _ZN8ixformer9functions17bnb_qgemm_forwardERKNS_6TensorES3_S3_S3_ff +00000000003087e0 T _ZN8ixformer9functions17bnb_quant_forwardERKNS_6TensorES3_fi +000000000038b950 T _ZN8ixformer9functions17gather_last_tokenERNS_6TensorES2_S2_b +0000000000390e30 T _ZN8ixformer9functions17groupnorm_forwardERKNS_6TensorEiRS1_S3_fbi +00000000003d52e0 T _ZN8ixformer9functions17layernorm_forwardERKNS_6TensorES3_S3_RS1_ +0000000000305ee0 T _ZN8ixformer9functions18bnb_getColRowStatsERNS_6TensorES2_S2_S2_fii +00000000003ea540 T _ZN8ixformer9functions18glm_rotary_pos_embEP6__halfS2_S2_S2_S2_S2_PiiiiiP11CUstream_st +00000000003dd840 T _ZN8ixformer9functions18linear_backward_dwERKNS_6TensorES3_RKSt6vectorIlSaIlEE +00000000003dd260 T _ZN8ixformer9functions18linear_backward_dxERKNS_6TensorES3_RKSt6vectorIlSaIlEE +0000000000215820 T _ZN8ixformer9functions19act_bias_mm_forwardERKNS_6TensorES3_S3_RS1_ifSsSs +0000000000304ab0 T _ZN8ixformer9functions19bnb_dequant_forwardERKNS_6TensorES3_fi +000000000038cc60 T _ZN8ixformer9functions20GenRotaryEmbLauncherEP6__halfS2_iifP11CUstream_st +00000000003f4fc0 T _ZN8ixformer9functions20silu_and_mul_forwardERNS_6TensorES2_ +0000000000221f70 T _ZN8ixformer9functions21IxinferLnBiasBackWardEP6__halfS2_iiP11CUstream_st +00000000003d3a50 T _ZN8ixformer9functions21IxinferLnLauncherOpt2EP6__halfS2_S2_S2_S2_S2_iibP11CUstream_st +0000000000306360 T _ZN8ixformer9functions21bnb_doubleRowColQuantERNS_6TensorES2_S2_S2_S2_S2_S2_S2_S2_fii +000000000039ec30 T _ZN8ixformer9functions21gelu_and_mul_launcherEPfS1_iiP11CUstream_st +000000000038cf00 T _ZN8ixformer9functions21gen_rotary_emb_weightERNS_6TensorES2_iif +000000000038df20 T _ZN8ixformer9functions21glm_split_qkv_forwardERNS_6TensorES2_S2_S2_iiiii +000000000038eb00 T _ZN8ixformer9functions21glm_split_qkv_forwardERNS_6TensorES2_S2_S2_iiiiii +0000000000213b20 T _ZN8ixformer9functions21int4WeightCompressionEPaS1_iiP11CUstream_st +0000000000213be0 T _ZN8ixformer9functions21int4WeightCompressionERNS_6TensorES2_ +00000000003b3600 T _ZN8ixformer9functions21skipLayerNormLauncherEPK6__halfS3_S3_S3_PS1_S4_iiP11CUstream_stbf +0000000000408ba0 T _ZN8ixformer9functions21trt_llm_gpt_attentionERKNS_6TensorERS1_S1_S3_S3_S3_S3_S3_S3_iifibbbS4_S4_bbiS3_S3_S3_ +000000000022f0d0 T _ZN8ixformer9functions22AttentionMaskedSoftmaxEP6__halfPiS2_iiiiiiiiP11CUstream_st +00000000003d1ef0 T _ZN8ixformer9functions22AttentionUpdateKvCacheEP6__halfS2_S2_S2_S2_S2_iiiiiP11CUstream_st +00000000003d4b40 T _ZN8ixformer9functions22IxinferLnInputBackWardEP6__halfS2_S2_S2_S2_iiP11CUstream_st +000000000038cdc0 T _ZN8ixformer9functions22check_rotary_emb_numelERNS_6TensorEi +00000000003f1ce0 T _ZN8ixformer9functions22glm_rotary_pos_emb_bwdERKNS_6TensorES3_S3_S3_S3_ +0000000000220560 T _ZN8ixformer9functions24IxinferAddLnPostLauncherEP6__halfS2_S2_S2_S2_S2_S2_S2_fiibP11CUstream_st +0000000000212ba0 T _ZN8ixformer9functions24int4WeightExtractionHalfEPaP6__halfS3_iiP11CUstream_st +0000000000212c80 T _ZN8ixformer9functions24int4WeightExtractionHalfERNS_6TensorES2_S2_ +0000000000214940 T _ZN8ixformer9functions24int8WeightExtractionHalfERNS_6TensorES2_S2_ +00000000003d8470 T _ZN8ixformer9functions24layernorm_input_backwardERKNS_6TensorES3_S3_S3_RS1_ +00000000003eaa80 T _ZN8ixformer9functions24rotary_embedding_forwardERNS_6TensorES2_S2_S2_S2_S2_S2_iiii +00000000003b2420 T _ZN8ixformer9functions24skipLayerNormPadLauncherEPK6__halfS3_S3_S3_PS1_S4_iiP11CUstream_stbf +00000000003a3610 T _ZN8ixformer9functions25__device_stub__gauss_initEiPjS1_ +000000000021b780 T _ZN8ixformer9functions25add_residual_bias_forwardERKNS_6TensorES3_S3_fRS1_ +000000000021cb10 T _ZN8ixformer9functions25add_residual_bias_forwardERKNS_6TensorES3_fRS1_ +0000000000309b90 T _ZN8ixformer9functions25bnb_rowcol_absmax_forwardERNS_6TensorEfi +000000000039d660 T _ZN8ixformer9functions25cuinfer_quantization_gemmEPKvS2_S2_S2_PviiiilllfiP11CUstream_stP14cuinferContext14cudaDataType_tS8_S2_ +000000000021dab0 T _ZN8ixformer9functions26add_residual_bias_backwardERKNS_6TensorERS1_S4_S4_f +000000000021e6b0 T _ZN8ixformer9functions26add_residual_bias_backwardERKNS_6TensorERS1_S4_f +0000000000396600 T _ZN8ixformer9functions26ixinfer_flash_attn_pad_fwdERNS_6TensorES2_S2_S2_S2_fii +0000000000217340 T _ZN8ixformer9functions26ker_gelu_backward_launcherEPK6__halfS3_PS1_iP11CUstream_st +00000000003d62d0 T _ZN8ixformer9functions26layernorm_training_forwardERKNS_6TensorES3_S3_RS1_S4_S4_ +000000000040c7b0 T _ZN8ixformer9functions26vllm_rotary_embedding_neoxERNS_6TensorES2_S2_iS2_ib +0000000000214770 T _ZN8ixformer9functions27GLMint8WeightExtractionHalfEPaP6__halfS3_iiP11CUstream_st +00000000003d4480 T _ZN8ixformer9functions27IxinferLnWeightbiasBackWardEP6__halfS2_S2_S2_iiP11CUstream_st +0000000000305e60 T _ZN8ixformer9functions27fill_up_to_nearest_multipleEii +000000000022de70 T _ZN8ixformer9functions28AttentionMaskedSoftmaxNormalEP6__halfPiS2_iiiiiiiiP11CUstream_st +0000000000305e70 T _ZN8ixformer9functions28__device_stub__cumsum_kernelEPii +0000000000222510 T _ZN8ixformer9functions28add_residual_bias_ln_forwardERKNS_6TensorES3_S3_S3_S3_fbRS1_ +00000000002257c0 T _ZN8ixformer9functions28add_residual_bias_ln_forwardERKNS_6TensorES3_S3_S3_fbRS1_ +000000000039ccf0 T _ZN8ixformer9functions28cuinfer_quantization_nn_gemmEPKvS2_S2_S2_PviiiilllfiP11CUstream_stP14cuinferContext14cudaDataType_tS8_S3_S3_ +0000000000306e60 T _ZN8ixformer9functions28fill_up_to_nearest_multiplesEii +000000000039a860 T _ZN8ixformer9functions28ixinfer_flash_attn_unpad_fwdERNS_6TensorES2_S2_S2_S2_S2_iibbfbS2_ +00000000003c1ff0 T _ZN8ixformer9functions28t5_split_qkv_update_kv_cacheEP6__halfS2_S2_S2_S2_S2_iiiiP11CUstream_st +0000000000406f90 T _ZN8ixformer9functions28trt_llm_gpt_attention_nativeERKSt6vectorINS_6TensorESaIS2_EES2_RKS2_S8_S8_S8_S8_S8_iifibbbRS2_S9_bbiS8_S8_S8_ +00000000003f5d30 T _ZN8ixformer9functions28user_defined_softmax_forwardERKNS_6TensorERS1_i +000000000022d910 T _ZN8ixformer9functions29AttentionMaskedSoftmaxAnysizeEP6__halfPiS2_iiiiiiiiP11CUstream_st +000000000039eba0 T _ZN8ixformer9functions29__device_stub__gelu_and_mul_2EP13__nv_bfloat16S2_ii +000000000039eb10 T _ZN8ixformer9functions29__device_stub__gelu_and_mul_2EP6__halfS2_ii +00000000002282c0 T _ZN8ixformer9functions29add_residual_bias_ln_backwardERKNS_6TensorES3_S3_S3_RS1_S4_S4_S4_S4_f +0000000000229cf0 T _ZN8ixformer9functions29add_residual_bias_ln_backwardERKNS_6TensorES3_S3_S3_RS1_S4_S4_S4_f +000000000039e670 T _ZN8ixformer9functions29get_cuinfer_gemm_ex_workspaceEiii14cudaDataType_tPm +00000000003ec550 T _ZN8ixformer9functions29glm2_rotary_embedding_forwardERNS_6TensorES2_ +00000000003d78b0 T _ZN8ixformer9functions29layernorm_weightbias_backwardERKNS_6TensorES3_RS1_S4_ +0000000000230310 T _ZN8ixformer9functions30AttentionMaskedSoftmaxLauncherEP6__halfPiS2_iiiiiiiiP11CUstream_st +00000000002215f0 T _ZN8ixformer9functions30IxinferLnInputResidualBackWardEP6__halfS2_S2_S2_S2_S2_iifP11CUstream_st +000000000021b050 T _ZN8ixformer9functions30IxinferLnInputResidualBackWardEP6__halfS2_S2_iifP11CUstream_st +000000000021a660 T _ZN8ixformer9functions30IxinferResidualAddBiasLauncherEP6__halfS2_S2_S2_fiiP11CUstream_st +00000000003ed810 T _ZN8ixformer9functions30llama_rotary_embedding_forwardERNS_6TensorES2_S2_S2_S2_S2_S2_ +000000000039d1b0 T _ZN8ixformer9functions31cuinfer_quantization_a8_w8_o32_EPKvS2_PviiiilllP11CUstream_stP14cuinferContext +000000000038d590 T _ZN8ixformer9functions32__device_stub__glmSplitQkvKernelEP6__halfS2_S2_S2_iiii +00000000002172b0 T _ZN8ixformer9functions32__device_stub__ker_gelu_backwardEPK6__halfS3_PS1_i +0000000000230370 T _ZN8ixformer9functions32attention_masked_softmax_forwardERNS_6TensorES2_S2_ +000000000039cc40 T _ZN8ixformer9functions32get_cuinfer_nn_gemm_ex_workspaceEiii14cudaDataType_tS1_Pm +000000000040bf70 T _ZN8ixformer9functions32vllm_cache_ops_reshape_and_cacheERNS_6TensorES2_S2_S2_S2_ii +00000000003d21f0 T _ZN8ixformer9functions33attention_kv_cache_concat_forwardERKNS_6TensorES3_S3_S3_RS1_S4_iiiii +0000000000398a10 T _ZN8ixformer9functions33ixinfer_flash_attn_pad_fwd_nomaskERNS_6TensorES2_S2_S2_fii +00000000003ec4a0 T _ZN8ixformer9functions34__device_stub__glm2_rotary_pos_embEP6__halfS2_iiii +00000000003f4f40 T _ZN8ixformer9functions34__device_stub__silu_and_mul_kernelEP13__nv_bfloat16PKS1_i +00000000003c1ad0 T _ZN8ixformer9functions34__device_stub__t5_split_qkv_kernelEP6__halfS2_S2_S2_iiiiiii +0000000000308720 T _ZN8ixformer9functions35__device_stub__bnb_quant_col_kernelEPK6__halfS3_filPa +0000000000308660 T _ZN8ixformer9functions35__device_stub__bnb_quant_row_kernelEPK6__halfS3_filPa +000000000038c1b0 T _ZN8ixformer9functions35__device_stub__geglu_forward_kernelEP13__nv_bfloat16PKS1_i +000000000038c130 T _ZN8ixformer9functions35__device_stub__geglu_forward_kernelEP6__halfPKS1_i +000000000038d9a0 T _ZN8ixformer9functions35__device_stub__glmSplitMqaQkvKernelEP6__halfS2_S2_S2_iiiii +000000000038c2c0 T _ZN8ixformer9functions36__device_stub__geglu_backward_kernelEPK13__nv_bfloat16S3_PS1_i +000000000038c230 T _ZN8ixformer9functions36__device_stub__geglu_backward_kernelEPK6__halfS3_PS1_i +000000000038cbd0 T _ZN8ixformer9functions36__device_stub__gen_rotary_emb_kernelEP6__halfS2_if +0000000000213aa0 T _ZN8ixformer9functions36__device_stub__int4WeightCompressionEPaS1_i +00000000003ef560 T _ZN8ixformer9functions36launch_glm_rotary_pos_emb_bwd_kernelEPK7__half2S3_S3_S3_PKvPS1_S6_jjjjNS_8DataTypeE +00000000003e06b0 T _ZN8ixformer9functions36multi_query_repeat_key_value_forwardERNS_6TensorES2_S2_S2_ +00000000003049f0 T _ZN8ixformer9functions37__device_stub__bnb_dequant_col_kernelEPKaPK6__halffilPS3_ +0000000000304930 T _ZN8ixformer9functions37__device_stub__bnb_dequant_row_kernelEPKaPK6__halffilPS3_ +0000000000223e60 T _ZN8ixformer9functions37add_residual_bias_ln_training_forwardERKNS_6TensorES3_S3_S3_S3_fbRS1_S4_S4_ +0000000000226d30 T _ZN8ixformer9functions37add_residual_bias_ln_training_forwardERKNS_6TensorES3_S3_S3_fbRS1_S4_S4_ +0000000000212b10 T _ZN8ixformer9functions39__device_stub__int4WeightExtractionHalfEPaP6__halfS3_i +0000000000235880 T _ZN8ixformer9functions3addERKNS_6TensorES3_ +0000000000235640 T _ZN8ixformer9functions3addERKNS_6TensorES3_RS1_ +0000000000235c30 T _ZN8ixformer9functions3addERKNS_6TensorEf +00000000002359c0 T _ZN8ixformer9functions3addERKNS_6TensorEfRS1_ +0000000000236030 T _ZN8ixformer9functions3addEfRKNS_6TensorE +0000000000235dc0 T _ZN8ixformer9functions3addEfRKNS_6TensorERS1_ +0000000000238460 T _ZN8ixformer9functions3divERKNS_6TensorES3_ +0000000000238420 T _ZN8ixformer9functions3divERKNS_6TensorES3_RS1_ +0000000000238f50 T _ZN8ixformer9functions3divERKNS_6TensorEf +0000000000238a90 T _ZN8ixformer9functions3divERKNS_6TensorEfRS1_ +00000000002389a0 T _ZN8ixformer9functions3divEfRKNS_6TensorE +0000000000238540 T _ZN8ixformer9functions3divEfRKNS_6TensorERS1_ +0000000000236f80 T _ZN8ixformer9functions3mulERKNS_6TensorES3_ +0000000000236d40 T _ZN8ixformer9functions3mulERKNS_6TensorES3_RS1_ +0000000000237330 T _ZN8ixformer9functions3mulERKNS_6TensorEf +00000000002370c0 T _ZN8ixformer9functions3mulERKNS_6TensorEfRS1_ +0000000000237730 T _ZN8ixformer9functions3mulEfRKNS_6TensorE +00000000002374c0 T _ZN8ixformer9functions3mulEfRKNS_6TensorERS1_ +0000000000236400 T _ZN8ixformer9functions3subERKNS_6TensorES3_ +00000000002361c0 T _ZN8ixformer9functions3subERKNS_6TensorES3_RS1_ +00000000002367b0 T _ZN8ixformer9functions3subERKNS_6TensorEf +0000000000236540 T _ZN8ixformer9functions3subERKNS_6TensorEfRS1_ +0000000000236bb0 T _ZN8ixformer9functions3subEfRKNS_6TensorE +0000000000236940 T _ZN8ixformer9functions3subEfRKNS_6TensorERS1_ +00000000003d1de0 T _ZN8ixformer9functions43__device_stub__AttentionUpdateKvCacheKernelEP6__halfS2_S2_S2_S2_S2_iiiii +00000000003e05d0 T _ZN8ixformer9functions43__device_stub__multi_query_repeat_key_valueEP6__halfS2_S2_S2_iiii +00000000002146e0 T _ZN8ixformer9functions48__device_stub__GLMint8WeightExtractionHalfKernelEPaP6__halfS3_i +000000000038f880 T _ZN8ixformer9functions49__device_stub__IxinferGroupnormKernelDefault_nchwEPK6__halfS3_S3_PS1_iiiif +000000000038f790 T _ZN8ixformer9functions49__device_stub__IxinferGroupnormKernelDefault_nhwcEPK6__halfS3_S3_PS1_iiiif +0000000000389230 T _ZN8ixformer9functions4copyERKNS_6TensorERS1_b +0000000000389d50 T _ZN8ixformer9functions4fill18launch_fill_kernelERNS_6TensorEPv +00000000003def70 T _ZN8ixformer9functions4gemm18check_inputs_shapeERKNS_6TensorES4_bb +00000000003de030 T _ZN8ixformer9functions4gemm23batch_gemm_fp16_ixinferERKNS_6TensorES4_RS2_18cuinferOperation_tS6_PKvS8_ +00000000003ded50 T _ZN8ixformer9functions4gemm25recover_contiguous_tensorERNS_6TensorE +00000000003e5860 T _ZN8ixformer9functions4viewERKNS_6TensorERKSt6vectorIlSaIlEE +000000000022d810 T _ZN8ixformer9functions50__device_stub__AttentionMaskedSoftmaxAnysizeKernelEP6__halfPiS2_iiiiiii +00000000003c1ec0 T _ZN8ixformer9functions50__device_stub__t5_split_qkv_update_kv_cache_kernelEP6__halfS2_S2_S2_S2_S2_iiiiiii +000000000038a1f0 T _ZN8ixformer9functions5_fullERNS_6TensorEPv +00000000003e21d0 T _ZN8ixformer9functions5emptyERKSt6vectorIlSaIlEENS_10DeviceTypeENS_12TensorLayoutEbbNS_12MemoryFormatE +00000000003e2440 T _ZN8ixformer9functions5emptyERKSt6vectorIlSaIlEENS_12TensorLayoutEbbNS_12MemoryFormatE +00000000003e1f60 T _ZN8ixformer9functions5emptyERKSt6vectorIlSaIlEENS_8DataTypeENS_10DeviceTypeENS_12TensorLayoutEbbNS_12MemoryFormatE +00000000003e23b0 T _ZN8ixformer9functions5emptyERKSt6vectorIlSaIlEENS_8DataTypeENS_12TensorLayoutEbbNS_12MemoryFormatE +00000000003e1ef0 T _ZN8ixformer9functions5emptyERKSt6vectorIlSaIlEENS_8DataTypeERKNS_6DeviceENS_12TensorLayoutEbbNS_12MemoryFormatE +00000000003e2000 T _ZN8ixformer9functions5emptyERKSt6vectorIlSaIlEENS_8DataTypeERKSsNS_12TensorLayoutEbbNS_12MemoryFormatE +00000000003e20a0 T _ZN8ixformer9functions5emptyERKSt6vectorIlSaIlEENS_8DataTypeEiNS_12TensorLayoutEbbNS_12MemoryFormatE +00000000003e2140 T _ZN8ixformer9functions5emptyERKSt6vectorIlSaIlEERKNS_6DeviceENS_12TensorLayoutEbbNS_12MemoryFormatE +00000000003e2270 T _ZN8ixformer9functions5emptyERKSt6vectorIlSaIlEERKSsNS_12TensorLayoutEbbNS_12MemoryFormatE +00000000003e2310 T _ZN8ixformer9functions5emptyERKSt6vectorIlSaIlEEiNS_12TensorLayoutEbbNS_12MemoryFormatE +00000000003a3790 T _ZN8ixformer9functions5gaussEiiiPfS1_S1_S1_PjS2_P11CUstream_st +00000000003f7b70 T _ZN8ixformer9functions5split27launch_split_forward_kernelERKNS_6TensorERSt6vectorIS2_SaIS2_EEl +00000000003e2960 T _ZN8ixformer9functions5zero_ERNS_6TensorE +00000000003e28e0 T _ZN8ixformer9functions5zerosERKSt6vectorIlSaIlEENS_8DataTypeERKNS_6DeviceENS_12TensorLayoutEb +00000000003df430 T _ZN8ixformer9functions6matmulERKNS_6TensorES3_RS1_bbff +00000000003dffd0 T _ZN8ixformer9functions6matmulERKNS_6TensorES3_bbff +000000000039f450 T _ZN8ixformer9functions7kernels17gather_last_tokenEP6__halfPiS3_biiibP11CUstream_st +000000000039f380 T _ZN8ixformer9functions7kernels39__device_stub__gather_last_token_kernelEP6__halfPiS3_iiib +00000000003e5e30 T _ZN8ixformer9functions7permuteERKNS_6TensorERKSt6vectorIiSaIiEE +00000000003e5870 T _ZN8ixformer9functions7reshapeERKNS_6TensorERKSt6vectorIlSaIlEE +000000000040b940 T _ZN8ixformer9functions8LlamaMlp7forwardERNS_6TensorES3_ +000000000040bec0 T _ZN8ixformer9functions8LlamaMlp7forwardERNS_6TensorES3_RSt10shared_ptrINS_11distributed4nccl9NcclGroupEE +000000000040b350 T _ZN8ixformer9functions8LlamaMlpC1ENS_6TensorES2_iii +000000000040b350 T _ZN8ixformer9functions8LlamaMlpC2ENS_6TensorES2_iii +000000000040bf60 T _ZN8ixformer9functions8LlamaMlpD1Ev +000000000040bf60 T _ZN8ixformer9functions8LlamaMlpD2Ev +0000000000237900 T _ZN8ixformer9functions8floordivERKNS_6TensorES3_ +00000000002378c0 T _ZN8ixformer9functions8floordivERKNS_6TensorES3_RS1_ +0000000000238340 T _ZN8ixformer9functions8floordivERKNS_6TensorEf +0000000000237f00 T _ZN8ixformer9functions8floordivERKNS_6TensorEfRS1_ +0000000000237e20 T _ZN8ixformer9functions8floordivEfRKNS_6TensorE +00000000002379e0 T _ZN8ixformer9functions8floordivEfRKNS_6TensorERS1_ +0000000000405f10 T _ZN8ixformer9functions8gpt_attn14split_kv_cacheERKNS_6TensorERS2_S5_ +0000000000405930 T _ZN8ixformer9functions8gpt_attn15update_kv_cacheERNS_6TensorERKS2_S5_i +00000000004056e0 T _ZN8ixformer9functions8gpt_attn21generate_position_idsERKNS_6DeviceEiii +0000000000406720 T _ZN8ixformer9functions8gpt_attn22prepare_attention_maskEiiiRKNS_6DeviceENS_8DataTypeE +00000000003e5a50 T _ZN8ixformer9functions8permute_ERNS_6TensorERKSt6vectorIiSaIiEE +00000000003e4f80 T _ZN8ixformer9functions9reduction14reduce_ixinferERKNS_6TensorERS2_RKSt6vectorIiSaIiEE23cuinferReduceTensorOp_tb +0000000000389c60 T _ZN8ixformer9functions9to_deviceERKNS_6TensorENS_10DeviceTypeEb +0000000000389b90 T _ZN8ixformer9functions9to_deviceERKNS_6TensorERKNS_6DeviceEb +0000000000389cb0 T _ZN8ixformer9functions9to_deviceERKNS_6TensorERKSsb +0000000000389d00 T _ZN8ixformer9functions9to_deviceERKNS_6TensorEib +00000000003e6250 T _ZN8ixformer9functions9transposeERKNS_6TensorEii +00000000001945c0 T _ZN8ixformer9inference10CppChatGLM15stream_generateEPiS2_S2_iiiiffbyb +0000000000194090 T _ZN8ixformer9inference10CppChatGLM4InitESsSsiiiii +00000000001945b0 T _ZN8ixformer9inference10CppChatGLM8generateEPiS2_S2_iiiiffby +0000000000194010 T _ZN8ixformer9inference10CppChatGLMC1Ev +0000000000194010 T _ZN8ixformer9inference10CppChatGLMC2Ev +0000000000194040 T _ZN8ixformer9inference10CppChatGLMD1Ev +0000000000194040 T _ZN8ixformer9inference10CppChatGLMD2Ev +000000000019a880 T _ZN8ixformer9inference10CppGLM130B4InitESt6vectorIS2_IP6__halfSaIS4_EESaIS6_EES2_IS2_IPaSaIS9_EESaISB_EES6_iiiiiiii +0000000000199580 T _ZN8ixformer9inference10CppGLM130B4InitESt6vectorIS2_IP6__halfSaIS4_EESaIS6_EES6_iiiiiiii +000000000019c700 T _ZN8ixformer9inference10CppGLM130B7forwardEPiS2_S2_P6__halfSt6vectorIS4_SaIS4_EES7_iiiiib +0000000000199540 T _ZN8ixformer9inference10CppGLM130BC1Ev +0000000000199540 T _ZN8ixformer9inference10CppGLM130BC2Ev +0000000000199550 T _ZN8ixformer9inference10CppGLM130BD1Ev +0000000000199550 T _ZN8ixformer9inference10CppGLM130BD2Ev +00000000001b65e0 T _ZN8ixformer9inference10LlamaModel13greedy_searchEPiS2_S2_iii +00000000001b5da0 T _ZN8ixformer9inference10LlamaModel13sample_searchEPiS2_S2_iiiy +00000000001b6cc0 T _ZN8ixformer9inference10LlamaModel15stream_generateEPiS2_S2_iiibyb +00000000001b5540 T _ZN8ixformer9inference10LlamaModel7forwardEPiS2_P6__halfiibi +00000000001b6c90 T _ZN8ixformer9inference10LlamaModel8generateEPiS2_S2_iiiby +00000000001b1e40 T _ZN8ixformer9inference10LlamaModelC1ERSt3mapISsSt4pairIPciESt4lessISsESaIS3_IKSsS5_EEEiiiiiiiiiiSsii +00000000001b1e40 T _ZN8ixformer9inference10LlamaModelC2ERSt3mapISsSt4pairIPciESt4lessISsESaIS3_IKSsS5_EEEiiiiiiiiiiSsii +00000000001b7600 T _ZN8ixformer9inference10LlamaModelD1Ev +00000000001b7600 T _ZN8ixformer9inference10LlamaModelD2Ev +00000000001745a0 T _ZN8ixformer9inference10distribued11recv_tensorERNS1_19DistribuedCommGroupERNS0_6TensorEi +0000000000174550 T _ZN8ixformer9inference10distribued11recv_tensorERSt10shared_ptrINS1_19DistribuedCommGroupEERNS0_6TensorEi +0000000000174500 T _ZN8ixformer9inference10distribued11send_tensorERNS1_19DistribuedCommGroupERNS0_6TensorEi +00000000001744b0 T _ZN8ixformer9inference10distribued11send_tensorERSt10shared_ptrINS1_19DistribuedCommGroupEERNS0_6TensorEi +00000000001743f0 T _ZN8ixformer9inference10distribued14get_nccl_dtypeENS0_14TensorDataTypeE +0000000000173ad0 T _ZN8ixformer9inference10distribued19DistribuedCommGroup10get_streamEv +0000000000173ae0 T _ZN8ixformer9inference10distribued19DistribuedCommGroup10set_streamEP11CUstream_st +00000000001738e0 T _ZN8ixformer9inference10distribued19DistribuedCommGroup12get_mpi_commEv +0000000000173910 T _ZN8ixformer9inference10distribued19DistribuedCommGroup12set_mpi_commESt10shared_ptrINS1_3mpi7MpiCommEE +00000000001739d0 T _ZN8ixformer9inference10distribued19DistribuedCommGroup13get_nccl_commEv +0000000000173a00 T _ZN8ixformer9inference10distribued19DistribuedCommGroup13set_nccl_commESt10shared_ptrINS1_4nccl8NcclCommEE +0000000000173ac0 T _ZN8ixformer9inference10distribued19DistribuedCommGroup14bind_devcie_idEv +00000000001738d0 T _ZN8ixformer9inference10distribued19DistribuedCommGroup14get_local_rankEv +00000000001738b0 T _ZN8ixformer9inference10distribued19DistribuedCommGroup14get_world_sizeEv +0000000000173ce0 T _ZN8ixformer9inference10distribued19DistribuedCommGroup14is_initializedEv +0000000000174100 T _ZN8ixformer9inference10distribued19DistribuedCommGroup3p2pEPKvPvm14ncclDataType_tii +0000000000174110 T _ZN8ixformer9inference10distribued19DistribuedCommGroup3p2pEPvm14ncclDataType_tii +0000000000173af0 T _ZN8ixformer9inference10distribued19DistribuedCommGroup4initEv +00000000001740f0 T _ZN8ixformer9inference10distribued19DistribuedCommGroup4recvEPvm14ncclDataType_ti +00000000001740e0 T _ZN8ixformer9inference10distribued19DistribuedCommGroup4sendEPKvm14ncclDataType_ti +0000000000173810 T _ZN8ixformer9inference10distribued19DistribuedCommGroup5ranksEv +00000000001740c0 T _ZN8ixformer9inference10distribued19DistribuedCommGroup7barrierEv +00000000001737e0 T _ZN8ixformer9inference10distribued19DistribuedCommGroup7destroyEv +00000000001738c0 T _ZN8ixformer9inference10distribued19DistribuedCommGroup8get_rankEv +0000000000174170 T _ZN8ixformer9inference10distribued19DistribuedCommGroup9allgatherEPKvPvm14ncclDataType_t +0000000000174130 T _ZN8ixformer9inference10distribued19DistribuedCommGroup9allreduceEPKvPvm14ncclDataType_t11ncclRedOp_t +0000000000174140 T _ZN8ixformer9inference10distribued19DistribuedCommGroup9allreduceEPvm14ncclDataType_t11ncclRedOp_t +0000000000174160 T _ZN8ixformer9inference10distribued19DistribuedCommGroup9broadcastEPvm14ncclDataType_ti +0000000000173ee0 T _ZN8ixformer9inference10distribued19DistribuedCommGroup9new_groupERKSt6vectorIiSaIiEE +0000000000173d00 T _ZN8ixformer9inference10distribued19DistribuedCommGroup9new_groupEv +0000000000173590 T _ZN8ixformer9inference10distribued19DistribuedCommGroupC1EP11CUstream_stRKSt6vectorIiSaIiEE +0000000000173480 T _ZN8ixformer9inference10distribued19DistribuedCommGroupC1ERKSt6vectorIiSaIiEE +00000000001732d0 T _ZN8ixformer9inference10distribued19DistribuedCommGroupC1ESt10shared_ptrINS1_3mpi7MpiCommEEP11CUstream_stRKSt6vectorIiSaIiEE +00000000001731b0 T _ZN8ixformer9inference10distribued19DistribuedCommGroupC1Ev +0000000000173590 T _ZN8ixformer9inference10distribued19DistribuedCommGroupC2EP11CUstream_stRKSt6vectorIiSaIiEE +0000000000173480 T _ZN8ixformer9inference10distribued19DistribuedCommGroupC2ERKSt6vectorIiSaIiEE +00000000001732d0 T _ZN8ixformer9inference10distribued19DistribuedCommGroupC2ESt10shared_ptrINS1_3mpi7MpiCommEEP11CUstream_stRKSt6vectorIiSaIiEE +00000000001731b0 T _ZN8ixformer9inference10distribued19DistribuedCommGroupC2Ev +00000000001736b0 T _ZN8ixformer9inference10distribued19DistribuedCommGroupD1Ev +00000000001736b0 T _ZN8ixformer9inference10distribued19DistribuedCommGroupD2Ev +0000000000175e00 T _ZN8ixformer9inference10distribued23get_bind_nccl_device_idERNS1_3mpi7MpiCommE +0000000000174bb0 T _ZN8ixformer9inference10distribued3mpi7MpiComm13get_proc_nameEv +0000000000174920 T _ZN8ixformer9inference10distribued3mpi7MpiComm14check_mpi_initERKSs +0000000000174990 T _ZN8ixformer9inference10distribued3mpi7MpiComm14get_local_rankEv +0000000000174aa0 T _ZN8ixformer9inference10distribued3mpi7MpiComm14get_world_sizeEv +00000000001750f0 T _ZN8ixformer9inference10distribued3mpi7MpiComm3p2pEPviP15ompi_datatype_tii +0000000000174d50 T _ZN8ixformer9inference10distribued3mpi7MpiComm4initEPiPPPc +0000000000174fd0 T _ZN8ixformer9inference10distribued3mpi7MpiComm4recvEPviP15ompi_datatype_ti +0000000000174fb0 T _ZN8ixformer9inference10distribued3mpi7MpiComm4recvEPviP15ompi_datatype_tiiP20ompi_status_public_t +0000000000174f90 T _ZN8ixformer9inference10distribued3mpi7MpiComm4sendEPKviP15ompi_datatype_ti +0000000000174f70 T _ZN8ixformer9inference10distribued3mpi7MpiComm4sendEPKviP15ompi_datatype_tii +0000000000174cd0 T _ZN8ixformer9inference10distribued3mpi7MpiComm7barrierEv +0000000000174850 T _ZN8ixformer9inference10distribued3mpi7MpiComm7destroyEv +0000000000174a90 T _ZN8ixformer9inference10distribued3mpi7MpiComm8get_rankEv +0000000000175060 T _ZN8ixformer9inference10distribued3mpi7MpiComm9broadcastEPviP15ompi_datatype_ti +0000000000174780 T _ZN8ixformer9inference10distribued3mpi7MpiCommC1Ev +0000000000174780 T _ZN8ixformer9inference10distribued3mpi7MpiCommC2Ev +00000000001747e0 T _ZN8ixformer9inference10distribued3mpi7MpiCommD1Ev +00000000001747e0 T _ZN8ixformer9inference10distribued3mpi7MpiCommD2Ev +0000000000175900 T _ZN8ixformer9inference10distribued4nccl8NcclComm10get_streamEv +0000000000175910 T _ZN8ixformer9inference10distribued4nccl8NcclComm10set_streamEP11CUstream_st +0000000000175240 T _ZN8ixformer9inference10distribued4nccl8NcclComm14get_world_sizeEv +0000000000175220 T _ZN8ixformer9inference10distribued4nccl8NcclComm14is_initializedEv +00000000001751c0 T _ZN8ixformer9inference10distribued4nccl8NcclComm15check_nccl_initERKSs +0000000000175aa0 T _ZN8ixformer9inference10distribued4nccl8NcclComm3p2pEPKvPvm14ncclDataType_tii +0000000000175ae0 T _ZN8ixformer9inference10distribued4nccl8NcclComm3p2pEPvm14ncclDataType_tii +0000000000175470 T _ZN8ixformer9inference10distribued4nccl8NcclComm4initER12ncclUniqueIdiii +00000000001759e0 T _ZN8ixformer9inference10distribued4nccl8NcclComm4recvEPvm14ncclDataType_ti +0000000000175920 T _ZN8ixformer9inference10distribued4nccl8NcclComm4sendEPKvm14ncclDataType_ti +0000000000175350 T _ZN8ixformer9inference10distribued4nccl8NcclComm6deviceEv +0000000000175460 T _ZN8ixformer9inference10distribued4nccl8NcclComm7barrierEv +00000000001751a0 T _ZN8ixformer9inference10distribued4nccl8NcclComm7destroyEv +0000000000175230 T _ZN8ixformer9inference10distribued4nccl8NcclComm8get_rankEv +0000000000175c90 T _ZN8ixformer9inference10distribued4nccl8NcclComm9allgatherEPKvPvm14ncclDataType_t +0000000000175b00 T _ZN8ixformer9inference10distribued4nccl8NcclComm9allreduceEPKvPvm14ncclDataType_t11ncclRedOp_t +0000000000175bd0 T _ZN8ixformer9inference10distribued4nccl8NcclComm9broadcastEPvm14ncclDataType_ti +0000000000175140 T _ZN8ixformer9inference10distribued4nccl8NcclCommC1EP11CUstream_st +0000000000175120 T _ZN8ixformer9inference10distribued4nccl8NcclCommC1Ev +0000000000175140 T _ZN8ixformer9inference10distribued4nccl8NcclCommC2EP11CUstream_st +0000000000175120 T _ZN8ixformer9inference10distribued4nccl8NcclCommC2Ev +0000000000175160 T _ZN8ixformer9inference10distribued4nccl8NcclCommD1Ev +0000000000175160 T _ZN8ixformer9inference10distribued4nccl8NcclCommD2Ev +0000000000175eb0 T _ZN8ixformer9inference10distribued9init_commERNS1_3mpi7MpiCommERNS1_4nccl8NcclCommE +0000000000175f50 T _ZN8ixformer9inference10distribued9init_commERNS1_3mpi7MpiCommERNS1_4nccl8NcclCommERKSt6vectorIiSaIiEE +0000000000185920 T _ZN8ixformer9inference10glm_helper10initTokensEPiS2_S2_S2_iiiiP11CUstream_st +00000000001861c0 T _ZN8ixformer9inference10glm_helper12LengthAdjustEPiiP11CUstream_st +00000000001855c0 T _ZN8ixformer9inference10glm_helper13print_elementEP6__halfi +00000000001853b0 T _ZN8ixformer9inference10glm_helper13print_elementEPfi +00000000001851b0 T _ZN8ixformer9inference10glm_helper13print_elementEPii +0000000000185b00 T _ZN8ixformer9inference10glm_helper15transposeTokensEPiS2_iiP11CUstream_st +0000000000186060 T _ZN8ixformer9inference10glm_helper16ArgmaxWithLengthEP6__halfPiS4_S4_iiiP11CUstream_st +0000000000186470 T _ZN8ixformer9inference10glm_helper18FastGELUActivationEP6__halfS3_iP11CUstream_st +0000000000185e60 T _ZN8ixformer9inference10glm_helper18SelectDataByLengthEP6__halfPiS3_iiiP11CUstream_st +0000000000185c90 T _ZN8ixformer9inference10glm_helper18transposeNumTokensEPiS2_iiiiP11CUstream_st +0000000000186260 T _ZN8ixformer9inference10glm_helper23__device_stub__IsAllEosEPiS2_iiS2_ +0000000000186160 T _ZN8ixformer9inference10glm_helper33__device_stub__LengthAdjustKernelEPi +0000000000185860 T _ZN8ixformer9inference10glm_helper33__device_stub__initTokenIdsKernelEPiS2_S2_S2_ii +0000000000185a90 T _ZN8ixformer9inference10glm_helper36__device_stub__transposeTokensKernelEPiS2_ +0000000000185fb0 T _ZN8ixformer9inference10glm_helper37__device_stub__ArgmaxWithLengthKernelEP6__halfPiS4_S4_i +00000000001863f0 T _ZN8ixformer9inference10glm_helper39__device_stub__FastGELUActivationKernelEP6__halfS3_i +0000000000185dc0 T _ZN8ixformer9inference10glm_helper39__device_stub__SelectDataByLengthKernelEP6__halfPiS3_ii +0000000000185c00 T _ZN8ixformer9inference10glm_helper39__device_stub__transposeNumTokensKernelEPiS2_ii +0000000000186300 T _ZN8ixformer9inference10glm_helper8IsAllEosEPiS2_iiS2_P11CUstream_st +000000000019f0b0 T _ZN8ixformer9inference10gpt_helper10initTokensEPiS2_S2_S2_iiiiP11CUstream_st +000000000019ed50 T _ZN8ixformer9inference10gpt_helper13print_elementEP6__halfi +000000000019eb40 T _ZN8ixformer9inference10gpt_helper13print_elementEPfi +000000000019e940 T _ZN8ixformer9inference10gpt_helper13print_elementEPii +000000000019f290 T _ZN8ixformer9inference10gpt_helper15transposeTokensEPiS2_iiP11CUstream_st +000000000019f640 T _ZN8ixformer9inference10gpt_helper16ArgmaxWithLengthEP6__halfPiS4_S4_iiiP11CUstream_st +000000000019f430 T _ZN8ixformer9inference10gpt_helper18SelectDataByLengthEP6__halfPiS3_iiiP11CUstream_st +000000000019eff0 T _ZN8ixformer9inference10gpt_helper33__device_stub__initTokenIdsKernelEPiS2_S2_S2_ii +000000000019f220 T _ZN8ixformer9inference10gpt_helper36__device_stub__transposeTokensKernelEPiS2_ +000000000019f580 T _ZN8ixformer9inference10gpt_helper37__device_stub__ArgmaxWithLengthKernelEP6__halfPiS4_S4_ii +000000000019f390 T _ZN8ixformer9inference10gpt_helper39__device_stub__SelectDataByLengthKernelEP6__halfPiS3_ii +00000000001a9ed0 T _ZN8ixformer9inference11ParallelGPT13greedy_searchEPiS2_S2_iii +00000000001a93f0 T _ZN8ixformer9inference11ParallelGPT7forwardEPiS2_P6__halfiibi +00000000001a61c0 T _ZN8ixformer9inference11ParallelGPTC1ERSt3mapISsSt4pairIPciESt4lessISsESaIS3_IKSsS5_EEEiiiiiiiiiiSsii +00000000001aa560 T _ZN8ixformer9inference11ParallelGPTC1Ev +00000000001a61c0 T _ZN8ixformer9inference11ParallelGPTC2ERSt3mapISsSt4pairIPciESt4lessISsESaIS3_IKSsS5_EEEiiiiiiiiiiSsii +00000000001aa560 T _ZN8ixformer9inference11ParallelGPTC2Ev +00000000001aa5a0 T _ZN8ixformer9inference11ParallelGPTD1Ev +00000000001aa5a0 T _ZN8ixformer9inference11ParallelGPTD2Ev +000000000019e870 T _ZN8ixformer9inference11ParallelGpt13greedy_searchEPiS2_S2_iii +000000000019dfb0 T _ZN8ixformer9inference11ParallelGpt4InitESsSsiiiiii +000000000019df30 T _ZN8ixformer9inference11ParallelGptC1Ev +000000000019df30 T _ZN8ixformer9inference11ParallelGptC2Ev +000000000019df60 T _ZN8ixformer9inference11ParallelGptD1Ev +000000000019df60 T _ZN8ixformer9inference11ParallelGptD2Ev +00000000001e98e0 T _ZN8ixformer9inference11glm130B_mlpEP6__halfPaS2_S3_S2_S2_S2_S2_S2_S2_iiiRP14cuinferContextRP11CUstream_st +00000000001e97c0 T _ZN8ixformer9inference11glm130B_mlpEP6__halfS2_S2_S2_S2_S2_S2_iiiRP14cuinferContextRP11CUstream_st +00000000001827e0 T _ZN8ixformer9inference12cuinfer_gemmEPK6__halfS3_S3_PS1_iiiilllfiRP11CUstream_stRP14cuinferContext +00000000001faa80 T _ZN8ixformer9inference13IxinferArgmaxEP6__halfPiiiiP11CUstream_st +00000000001fb970 T _ZN8ixformer9inference13IxinferEncPadEP6__halfS2_PiS3_iiiiiP11CUstream_st +00000000001c53f0 T _ZN8ixformer9inference13LLaMaPipeline13greedy_searchEPiS2_S2_iii +00000000001c4ad0 T _ZN8ixformer9inference13LLaMaPipeline4InitESsSsiiiiii +00000000001c4a50 T _ZN8ixformer9inference13LLaMaPipelineC1Ev +00000000001c4a50 T _ZN8ixformer9inference13LLaMaPipelineC2Ev +00000000001c4a80 T _ZN8ixformer9inference13LLaMaPipelineD1Ev +00000000001c4a80 T _ZN8ixformer9inference13LLaMaPipelineD2Ev +00000000001c3030 T _ZN8ixformer9inference13LlamaPipeline13greedy_searchEPiS2_S2_iii +00000000001c0fa0 T _ZN8ixformer9inference13LlamaPipeline16init_distributedEv +00000000001c2630 T _ZN8ixformer9inference13LlamaPipeline20decode_layer_forwardEP6__halfPiS3_S3_S3_S3_S3_S3_S3_S3_S3_RSt13unordered_mapISsS3_St4hashISsESt8equal_toISsESaISt4pairIKSsS3_EEEiiiiiiiiibiRP14cuinferContextRP11CUstream_st +00000000001c1530 T _ZN8ixformer9inference13LlamaPipeline7forwardEPiS2_P6__halfiibii +00000000001bd840 T _ZN8ixformer9inference13LlamaPipelineC1ERSt3mapISsSt4pairIPciESt4lessISsESaIS3_IKSsS5_EEEiiiiiiiiiiSsiii +00000000001bd840 T _ZN8ixformer9inference13LlamaPipelineC2ERSt3mapISsSt4pairIPciESt4lessISsESaIS3_IKSsS5_EEEiiiiiiiiiiSsiii +00000000001c3d10 T _ZN8ixformer9inference13LlamaPipelineD1Ev +00000000001c3d10 T _ZN8ixformer9inference13LlamaPipelineD2Ev +00000000001d0cf0 T _ZN8ixformer9inference13invokeSoftmaxEP6__halfS2_iiP11CUstream_st +00000000001e36a0 T _ZN8ixformer9inference13updateKvCacheEP6__halfS2_S2_S2_PiiiiiiP11CUstream_st +00000000001e32c0 T _ZN8ixformer9inference13updateKvCacheEP6__halfS2_S2_S2_iiiiiP11CUstream_st +00000000001ab390 T _ZN8ixformer9inference14ParallelDemoCu7forwardEv +00000000001aa8a0 T _ZN8ixformer9inference14ParallelDemoCuC1Ei +00000000001aa700 T _ZN8ixformer9inference14ParallelDemoCuC1Ev +00000000001aa8a0 T _ZN8ixformer9inference14ParallelDemoCuC2Ei +00000000001aa700 T _ZN8ixformer9inference14ParallelDemoCuC2Ev +00000000001aa740 T _ZN8ixformer9inference14ParallelDemoCuD1Ev +00000000001aa740 T _ZN8ixformer9inference14ParallelDemoCuD2Ev +00000000001a4890 T _ZN8ixformer9inference15GPT2LMHeadModel13greedy_searchEPiS2_S2_iii +00000000001a45d0 T _ZN8ixformer9inference15GPT2LMHeadModel7forwardEPiS2_P6__halfiibi +00000000001a1380 T _ZN8ixformer9inference15GPT2LMHeadModelC1ERSt3mapISsSt4pairIPciESt4lessISsESaIS3_IKSsS5_EEEiiiiiiiiiiSsi +00000000001a1380 T _ZN8ixformer9inference15GPT2LMHeadModelC2ERSt3mapISsSt4pairIPciESt4lessISsESaIS3_IKSsS5_EEEiiiiiiiiiiSsi +00000000001a4f20 T _ZN8ixformer9inference15GPT2LMHeadModelD1Ev +00000000001a4f20 T _ZN8ixformer9inference15GPT2LMHeadModelD2Ev +00000000001e7370 T _ZN8ixformer9inference15IxinferGptEmbedEPiP6__halfS3_S3_iiiP11CUstream_st +00000000001e7590 T _ZN8ixformer9inference15IxinferGptEmbedEPiS1_P6__halfS3_S3_iiP11CUstream_st +00000000001ef140 T _ZN8ixformer9inference15RMSNormLauncherEP6__halfS2_S2_iiP11CUstream_st +0000000000182520 T _ZN8ixformer9inference15cuinfer_i8_gemmEPKaS2_PaiiiilllfP14cuinferContextP11CUstream_st +0000000000182b90 T _ZN8ixformer9inference15cuinfer_nn_gemmEPK6__halfS3_S3_PS1_iiiilllfiRP11CUstream_stRP14cuinferContext +0000000000183340 T _ZN8ixformer9inference15initLlamaTokensEPiS1_S1_S1_iiiiP11CUstream_st +00000000001d1bc0 T _ZN8ixformer9inference15invokeSortIndexEPK6__halfPKiPiPS1_iiiP11CUstream_st +0000000000184c90 T _ZN8ixformer9inference15transposeTokensEPiS1_iiP11CUstream_st +0000000000184af0 T _ZN8ixformer9inference16ArgmaxWithLengthEP6__halfPiS3_S3_iiiP11CUstream_st +00000000001e43f0 T _ZN8ixformer9inference16AttentionPadMaskEPiS1_iiiiiiP11CUstream_st +00000000001e66f0 T _ZN8ixformer9inference16GLM130BAttentionEP6__halfPiS3_RSt13unordered_mapISsS2_St4hashISsESt8equal_toISsESaISt4pairIKSsS2_EEERS4_ISsPaS6_S8_SaIS9_ISA_SF_EEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_iiiiiiiiiRP14cuinferContextRP11CUstream_st +00000000001e6020 T _ZN8ixformer9inference16GLM130BAttentionEP6__halfPiS3_RSt13unordered_mapISsS2_St4hashISsESt8equal_toISsESaISt4pairIKSsS2_EEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_iiiiiiiiRP14cuinferContextRP11CUstream_st +00000000001e3a60 T _ZN8ixformer9inference16GlmConcatCacheKvEP6__halfS2_S2_iiiiP11CUstream_st +0000000000183ee0 T _ZN8ixformer9inference16IxinferApplyRopeEP6__halfS2_S2_S2_S2_iiiiiP11CUstream_st +00000000001fac00 T _ZN8ixformer9inference16IxinferUpdateEosEPiS1_S1_iiP11CUstream_st +0000000000184730 T _ZN8ixformer9inference16ResidualLauncherEP6__halfS2_iiP11CUstream_st +00000000001d1ce0 T _ZN8ixformer9inference16TopKLogitsWarperEP6__halfS2_PiS3_iiiPvP14cuinferContextP11CUstream_st +00000000001d1fb0 T _ZN8ixformer9inference16TopPLogitsWarperEP6__halfS2_S2_S2_PiS3_S3_iifmPvP11CUstream_st +00000000001d18e0 T _ZN8ixformer9inference16invokeMaskedTopPEP6__halfPiS2_iifP11CUstream_st +00000000001e82e0 T _ZN8ixformer9inference16wordEmbedLaucherEPiP6__halfS3_iiiRP11CUstream_st +00000000001e8470 T _ZN8ixformer9inference17ApplyRotaryPosEmbEP6__halfS2_S2_S2_S2_S2_PiiiiiP11CUstream_st +00000000001fb300 T _ZN8ixformer9inference17IxinferCastTensorEP6__halfPaifP11CUstream_st +0000000000183700 T _ZN8ixformer9inference17IxinferLlamaEmbedEPiP6__halfS3_iiiP11CUstream_st +00000000001ea740 T _ZN8ixformer9inference17IxinferLnLauncherEP6__halfS2_S2_S2_iiP11CUstream_st +00000000001f3120 T _ZN8ixformer9inference17IxinferLogSoftmaxEP6__halfS2_iiP11CUstream_st +00000000001b14c0 T _ZN8ixformer9inference17LlamaDecoderLayerEP6__halfPiS2_S2_S2_S2_S2_S2_S2_S2_S2_RSt13unordered_mapISsS2_St4hashISsESt8equal_toISsESaISt4pairIKSsS2_EEEiiiiiiiiibiRP14cuinferContextRP11CUstream_st +00000000001e45c0 T _ZN8ixformer9inference17ParallelLogitsCatEP6__halfS2_iiiP11CUstream_st +0000000000183530 T _ZN8ixformer9inference17RotaryEmbLauncherEP6__halfS2_iiP11CUstream_st +00000000001e3010 T _ZN8ixformer9inference18IxinferGlmSplitQkvEP6__halfS2_S2_S2_iiiiiP11CUstream_st +00000000001fbc40 T _ZN8ixformer9inference18IxinferReverseMaskEPiS1_iP11CUstream_st +00000000001848e0 T _ZN8ixformer9inference18SelectDataByLengthEP6__halfPiS2_iiiP11CUstream_st +0000000000182680 T _ZN8ixformer9inference18cuinfer_nn_i8_gemmEPKaS2_PaiiiilllfP14cuinferContextP11CUstream_st +00000000001e7d30 T _ZN8ixformer9inference18glm_rotary_pos_embEP6__halfS2_S2_S2_S2_S2_PiS3_iiiiP11CUstream_st +00000000001e78c0 T _ZN8ixformer9inference18glm_rotary_pos_embEP6__halfS2_S2_S2_S2_S2_PiiiiiP11CUstream_st +00000000001d2310 T _ZN8ixformer9inference18invokeSampleSearchEP6__halfPiS2_S3_S3_S3_S2_S2_S3_S3_iiiffmPvP17curandStateXORWOWP14cuinferContextP11CUstream_st +00000000001d2260 T _ZN8ixformer9inference18invokeSampleSearchEP6__halfPiS2_S3_S3_S3_iiiPvP17curandStateXORWOWP14cuinferContextP11CUstream_st +0000000000183170 T _ZN8ixformer9inference19DotMultiplyLauncherEP6__halfS2_iiP11CUstream_st +00000000001e13a0 T _ZN8ixformer9inference19IxinferDecSelfKvCatEP6__halfS2_S2_S2_iiiiiiP11CUstream_st +00000000001d9220 T _ZN8ixformer9inference19IxinferResidualBiasEP6__halfS2_S2_S2_iiP11CUstream_st +00000000001ba7e0 T _ZN8ixformer9inference19TensorParallelLlama11PrintConfigEv +00000000001bc690 T _ZN8ixformer9inference19TensorParallelLlama13greedy_searchEPiS2_S2_iii +00000000001b7f00 T _ZN8ixformer9inference19TensorParallelLlama14AllocateBufferEv +00000000001b8d90 T _ZN8ixformer9inference19TensorParallelLlama14AllocateWeightERSt3mapISsSt4pairIPciESt4lessISsESaIS3_IKSsS5_EEE +00000000001b8760 T _ZN8ixformer9inference19TensorParallelLlama15AllocateKVcacheEv +00000000001bcd40 T _ZN8ixformer9inference19TensorParallelLlama15stream_generateEPiS2_S2_iiib +00000000001bbcd0 T _ZN8ixformer9inference19TensorParallelLlama20decode_layer_forwardEP6__halfPiS3_S3_S3_S3_S3_S3_S3_S3_S3_RSt13unordered_mapISsS3_St4hashISsESt8equal_toISsESaISt4pairIKSsS3_EEEiiiiiiiiiibi +00000000001bb4f0 T _ZN8ixformer9inference19TensorParallelLlama7forwardEPiS2_P6__halfiibi +00000000001ba290 T _ZN8ixformer9inference19TensorParallelLlamaC1ERSt3mapISsSt4pairIPciESt4lessISsESaIS3_IKSsS5_EEEiiiiiiiiiiSsii +00000000001ba290 T _ZN8ixformer9inference19TensorParallelLlamaC2ERSt3mapISsSt4pairIPciESt4lessISsESaIS3_IKSsS5_EEEiiiiiiiiiiSsii +00000000001bd4c0 T _ZN8ixformer9inference19TensorParallelLlamaD1Ev +00000000001bd4c0 T _ZN8ixformer9inference19TensorParallelLlamaD2Ev +00000000001a5b10 T _ZN8ixformer9inference19gpt_parallel_helper10initTokensEPiS2_S2_S2_iiiiP11CUstream_st +00000000001a57b0 T _ZN8ixformer9inference19gpt_parallel_helper13print_elementEP6__halfi +00000000001a55a0 T _ZN8ixformer9inference19gpt_parallel_helper13print_elementEPfi +00000000001a53a0 T _ZN8ixformer9inference19gpt_parallel_helper13print_elementEPii +00000000001a5cf0 T _ZN8ixformer9inference19gpt_parallel_helper15transposeTokensEPiS2_iiP11CUstream_st +00000000001a60a0 T _ZN8ixformer9inference19gpt_parallel_helper16ArgmaxWithLengthEP6__halfPiS4_S4_iiiP11CUstream_st +00000000001a5e90 T _ZN8ixformer9inference19gpt_parallel_helper18SelectDataByLengthEP6__halfPiS3_iiiP11CUstream_st +00000000001a5a50 T _ZN8ixformer9inference19gpt_parallel_helper33__device_stub__initTokenIdsKernelEPiS2_S2_S2_ii +00000000001a5c80 T _ZN8ixformer9inference19gpt_parallel_helper36__device_stub__transposeTokensKernelEPiS2_ +00000000001a5fe0 T _ZN8ixformer9inference19gpt_parallel_helper37__device_stub__ArgmaxWithLengthKernelEP6__halfPiS4_S4_ii +00000000001a5df0 T _ZN8ixformer9inference19gpt_parallel_helper39__device_stub__SelectDataByLengthKernelEP6__halfPiS3_ii +00000000001e4c70 T _ZN8ixformer9inference20GPT2ContextAttentionEP6__halfPiS2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_iiiiiiiRP14cuinferContextRP11CUstream_st +00000000001e4f50 T _ZN8ixformer9inference20GPT2DecoderAttentionEP6__halfPiS2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_iiiiiRP14cuinferContextRP11CUstream_st +00000000001e7780 T _ZN8ixformer9inference20GenRotaryEmbLauncherEP6__halfS2_iiP11CUstream_st +00000000001e1ed0 T _ZN8ixformer9inference20IxinferArrangeEncQkvEP6__halfS2_S2_S2_S2_iiiiiP11CUstream_st +00000000001e2460 T _ZN8ixformer9inference20IxinferArrangeEncQkvEP6__halfS2_S2_S2_iiiiP11CUstream_st +00000000001e2d70 T _ZN8ixformer9inference20IxinferGPT2SelfKvCatEP6__halfS2_S2_S2_iiiiiP11CUstream_st +00000000001fad80 T _ZN8ixformer9inference20IxinferInitDecTokensEPiiiiiiP11CUstream_st +00000000001eabd0 T _ZN8ixformer9inference20IxinferLnPadLauncherEP6__halfS2_S2_S2_iiP11CUstream_st +00000000001e18b0 T _ZN8ixformer9inference21IxinferArrangeDecEncQEP6__halfS2_S2_iiiiP11CUstream_st +00000000001eb720 T _ZN8ixformer9inference21IxinferLnLauncherOpt2EP6__halfS2_S2_S2_iiP11CUstream_st +00000000001d7bd0 T _ZN8ixformer9inference21IxinferResidualBiasLnEPK6__halfS3_S3_S3_PS1_S4_iiP11CUstream_stb +00000000001e5970 T _ZN8ixformer9inference21LlamaContextAttentionEP6__halfPiS2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_iiiiiiiiRP14cuinferContextRP11CUstream_st +00000000001e5c80 T _ZN8ixformer9inference21LlamaDecoderAttentionEP6__halfPiS2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_iiiiiiiRP14cuinferContextRP11CUstream_st +0000000000176420 T _ZN8ixformer9inference21LoadGraphBinaryWeightERKSsRSt3mapISsSt4pairIPciESt4lessISsESaIS4_IS1_S6_EEE +00000000001f4bb0 T _ZN8ixformer9inference22AttentionMaskedSoftmaxEP6__halfPiS2_iiiiiP11CUstream_st +00000000001d6ef0 T _ZN8ixformer9inference22IxinferResidualBiasI8IEPaP6__halfS3_S3_iifP11CUstream_st +00000000001f40c0 T _ZN8ixformer9inference22IxinferSelfMaskSoftmaxEP6__halfPiS2_iiiiP11CUstream_st +00000000001e8be0 T _ZN8ixformer9inference22VocabParallelEmbeddingEPiP6__halfS3_iiiiiRP11CUstream_st +00000000001d1360 T _ZN8ixformer9inference22invokeCurandInitializeEP17curandStateXORWOWmyP11CUstream_st +00000000001e8980 T _ZN8ixformer9inference22wordEmbedNormalLaucherEPiP6__halfS3_iiiRP11CUstream_st +00000000001e1b80 T _ZN8ixformer9inference23IxinferArrangeDecEncQkvEP6__halfS2_S2_S2_S2_S2_S2_iiiiiP11CUstream_st +00000000001841b0 T _ZN8ixformer9inference23IxinferDecoderApplyRopeEPiP6__halfS3_S3_S3_S3_iiiiiP11CUstream_st +00000000001f3850 T _ZN8ixformer9inference23IxinferLogSoftmaxNormalEP6__halfS2_iiP11CUstream_st +00000000001ef7a0 T _ZN8ixformer9inference23ResidualRMSNormLauncherEP6__halfS2_S2_iiP11CUstream_st +00000000001d1e70 T _ZN8ixformer9inference23TemperatureLogitsWarperEP6__halfS2_iifP11CUstream_st +0000000000184d50 T _ZN8ixformer9inference23__device_stub__IsAllEosEPiS1_iiS1_ +00000000001e1030 T _ZN8ixformer9inference24IxinferArrangeDecSelfQkvEPK6__halfS3_PS1_S4_S4_S4_S4_iiiiiiiP11CUstream_st +00000000001f3aa0 T _ZN8ixformer9inference24IxinferCausalMaskSoftmaxEP6__halfPiS2_iiiP11CUstream_st +00000000001e1670 T _ZN8ixformer9inference24IxinferDecAttnOutArrangeEP6__halfS2_iiiP11CUstream_st +00000000001fb1b0 T _ZN8ixformer9inference24IxinferDecTokenTransposeEPiS1_iiP11CUstream_st +00000000001e21d0 T _ZN8ixformer9inference24IxinferEncAttnOutArrangeEP6__halfS2_iiiiiP11CUstream_st +0000000000184470 T _ZN8ixformer9inference24IxinferLLamaDecoderKvCatEP6__halfS2_S2_S2_iiiiiP11CUstream_st +00000000001d8130 T _ZN8ixformer9inference24IxinferResidualBiasLnPadEPK6__halfS3_S3_S3_PS1_S4_iiP11CUstream_stb +00000000001e8240 T _ZN8ixformer9inference24__device_stub__wordEmbedEPiP6__halfS3_ii +00000000001e2a20 T _ZN8ixformer9inference25IxinferArrangeGPT2SelfQkvEPiPK6__halfPS2_S5_S5_S5_S5_iiiiiiP11CUstream_st +00000000001fb4c0 T _ZN8ixformer9inference25IxinferDecFormatEncOutputEP6__halfPaS2_PiiiiiP11CUstream_st +00000000001faf70 T _ZN8ixformer9inference25IxinferDecFormatEncOutputEP6__halfPaS3_S3_iiiifP11CUstream_st +00000000001fb700 T _ZN8ixformer9inference25IxinferDecFormatEncOutputEP6__halfPiS2_S3_iiiiP11CUstream_st +00000000001e0430 T _ZN8ixformer9inference25IxinferDecSelfKvCatI8II8OEPaS1_S1_S1_iiiiiP11CUstream_st +00000000001f3910 T _ZN8ixformer9inference25IxinferLogSoftmaxLauncherEP6__halfS2_iiP11CUstream_st +00000000001d16b0 T _ZN8ixformer9inference25invokeCategoricalSamplingEPK6__halfPKiPiP17curandStateXORWOWS6_S6_iiP11CUstream_st +00000000001d93b0 T _ZN8ixformer9inference26IxinferAddLnBeforeLauncherEP6__halfS2_S2_S2_S2_S2_fiiP11CUstream_st +0000000000172f50 T _ZN8ixformer9inference26__device_stub__GEGLUKernelEP6__halfS2_i +00000000001d0b00 T _ZN8ixformer9inference27GLMint8WeightExtractionHalfEPaP6__halfS3_iiP11CUstream_st +00000000001e0d00 T _ZN8ixformer9inference27IxinferArrangeDecEncQI8II8OEPaS1_P6__halfiiiiffP11CUstream_st +00000000001f4430 T _ZN8ixformer9inference27IxinferGlmCausalMaskSoftmaxEP6__halfPiS2_iiiP11CUstream_st +00000000001e9a60 T _ZN8ixformer9inference27IxinferLayerNormI8OLauncherEPK6__halfS3_S3_PaiifP11CUstream_st +00000000001d14e0 T _ZN8ixformer9inference27invokeCurandBatchInitializeEP17curandStateXORWOWmPKyP11CUstream_st +00000000001e2700 T _ZN8ixformer9inference28IxinferArrangeGPT2ContextQkvEP6__halfS2_S2_S2_S2_S2_iiiiiiP11CUstream_st +00000000001f3fa0 T _ZN8ixformer9inference29AttentionMaskedSoftmaxAnysizeEP6__halfPiS2_iiiiP11CUstream_st +00000000001e0960 T _ZN8ixformer9inference29IxinferArrangeDecEncQkvI8II8OEPaS1_S1_S1_S1_P6__halfS3_iiiiiffP11CUstream_st +0000000000183930 T _ZN8ixformer9inference29IxinferArrangeLLamaContextQkvEP6__halfS2_S2_S2_S2_iiiiiiP11CUstream_st +0000000000183c10 T _ZN8ixformer9inference29IxinferArrangeLlamaDecoderQkvEPiP6__halfS3_S3_S3_S3_iiiiiP11CUstream_st +00000000001846b0 T _ZN8ixformer9inference29__device_stub__ResidualKernelEP6__halfS2_i +00000000001e0020 T _ZN8ixformer9inference30IxinferArrangeDecSelfQkvI8II8OEiiPKaPK6__halfPaS6_S6_S6_S6_iiiiiffP11CUstream_st +00000000001e06b0 T _ZN8ixformer9inference30IxinferDecAttnOutArrangeI8II8OEPaS1_iiiP11CUstream_st +00000000001d9d70 T _ZN8ixformer9inference30IxinferResidualAddBiasLauncherEP6__halfS2_S2_S2_fiiP11CUstream_st +00000000001d5b20 T _ZN8ixformer9inference30IxinferResidualBiasLnI8II8O_v2EPKaPK6__halfS5_S5_PaPS3_iiffP11CUstream_stb +00000000001e3c20 T _ZN8ixformer9inference30__device_stub__GlmMemCatKernelEP6__halfS2_S2_S2_S2_iiiiii +00000000001e88e0 T _ZN8ixformer9inference30__device_stub__wordEmbedNormalEPiP6__halfS3_ii +00000000001f23a0 T _ZN8ixformer9inference31IxinferCorrelationSoftmaxDecEncEP6__halfPiiiiiP11CUstream_st +00000000001d12e0 T _ZN8ixformer9inference31__device_stub__curandInitializeEP17curandStateXORWOWiy +00000000001f1cd0 T _ZN8ixformer9inference32IxinferCorrelationSoftmaxDecselfEP6__halfiiiiiP11CUstream_st +00000000001f2a60 T _ZN8ixformer9inference32IxinferCorrelationSoftmaxEncselfEiiiP11CUstream_stP6__halfPKi +0000000000184630 T _ZN8ixformer9inference32__device_stub__DotMultiplyKernelEP6__halfS2_i +00000000001e4520 T _ZN8ixformer9inference32__device_stub__ParallelLogitsCatEP6__halfS2_iii +00000000001d1b00 T _ZN8ixformer9inference32__device_stub__kernel_sort_indexEPK6__halfPKiPiPS1_ii +00000000001834b0 T _ZN8ixformer9inference32__device_stub__rotary_emb_kernelEP6__halfS2_i +00000000001e3d30 T _ZN8ixformer9inference33__device_stub__GlmMemCat128KernelEP6__halfS2_S2_S2_S2_iiiiii +00000000001d1de0 T _ZN8ixformer9inference33__device_stub__kernel_temperatureEP6__halfS2_if +00000000001e52e0 T _ZN8ixformer9inference34TensorParallelGPT2ContextAttentionEP6__halfPiS2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_iiiiiiiiRP14cuinferContextRP11CUstream_st +00000000001e55c0 T _ZN8ixformer9inference34TensorParallelGPT2DecoderAttentionEP6__halfPiS2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_iiiiiiRP14cuinferContextRP11CUstream_st +00000000001fa9f0 T _ZN8ixformer9inference34__device_stub__IxinferArgmaxKernelEP6__halfPiii +00000000001fb890 T _ZN8ixformer9inference34__device_stub__IxinferEncPadKernelEPK6__halfPS1_PKiPiiiii +00000000001d1840 T _ZN8ixformer9inference34__device_stub__kernel_masked_top_pEP6__halfPiS2_if +00000000001e35c0 T _ZN8ixformer9inference34__device_stub__updateKvCacheKernelEP6__halfS2_S2_S2_Piiii +00000000001e31e0 T _ZN8ixformer9inference34__device_stub__updateKvCacheKernelEP6__halfS2_S2_S2_iiii +00000000001e72c0 T _ZN8ixformer9inference36__device_stub__IxinferGptEmbedKernelEPKiPK6__halfS5_PS3_i +00000000001e74d0 T _ZN8ixformer9inference36__device_stub__IxinferGptEmbedKernelEPKiS2_PK6__halfS5_PS3_i +00000000001d1460 T _ZN8ixformer9inference36__device_stub__curandBatchInitializeEP17curandStateXORWOWiPKy +00000000001e7700 T _ZN8ixformer9inference36__device_stub__gen_rotary_emb_kernelEP6__halfS2_i +0000000000184c10 T _ZN8ixformer9inference36__device_stub__transposeTokensKernelEPiS1_i +00000000001f1410 T _ZN8ixformer9inference37IxinferCorrelationSoftmaxDecEncI8II8OEPaS1_iiiiffP11CUstream_st +0000000000184a30 T _ZN8ixformer9inference37__device_stub__ArgmaxWithLengthKernelEP6__halfPiS3_S3_ii +00000000001e4330 T _ZN8ixformer9inference37__device_stub__AttentionPadMaskKernelEPiS1_iiiii +00000000001e39a0 T _ZN8ixformer9inference37__device_stub__GlmConcatCacheKvKernelEP6__halfS2_S2_iii +0000000000183df0 T _ZN8ixformer9inference37__device_stub__IxinferApplyRopeKernelEP6__halfS2_S2_S2_S2_iiii +00000000001fab60 T _ZN8ixformer9inference37__device_stub__IxinferUpdateEosKernelEPiS1_S1_ii +00000000001f0b30 T _ZN8ixformer9inference38IxinferCorrelationSoftmaxDecselfI8II8OEPaiiiiiffP11CUstream_st +00000000001fb270 T _ZN8ixformer9inference38__device_stub__IxinferCastTensorKernelEP6__halfPaif +0000000000183670 T _ZN8ixformer9inference38__device_stub__IxinferLlamaEmbedKernelEPKiPK6__halfPS3_i +0000000000183280 T _ZN8ixformer9inference38__device_stub__initLlamaTokenIdsKernelEPiS1_S1_S1_ii +00000000001e2f30 T _ZN8ixformer9inference39__device_stub__IxinferGlmSplitQkvKernelEP6__halfS2_S2_S2_iiii +00000000001fbbc0 T _ZN8ixformer9inference39__device_stub__IxinferReverseMaskKernelEPKiPii +0000000000184840 T _ZN8ixformer9inference39__device_stub__SelectDataByLengthKernelEP6__halfPiS2_ii +00000000001d15e0 T _ZN8ixformer9inference39__device_stub__ker_categorical_samplingEPK6__halfPKiPiP17curandStateXORWOWS6_S6_i +00000000001e9640 T _ZN8ixformer9inference3ffnEP6__halfS2_S2_S2_S2_S2_S2_iiiRP14cuinferContextRP11CUstream_stSs +00000000001ae770 T _ZN8ixformer9inference3gpt11ParallelGPT11PrintConfigEv +00000000001b0990 T _ZN8ixformer9inference3gpt11ParallelGPT13greedy_searchEPiS3_S3_iii +00000000001ae0a0 T _ZN8ixformer9inference3gpt11ParallelGPT14AllocateBufferEv +00000000001ac140 T _ZN8ixformer9inference3gpt11ParallelGPT14AllocateWeightERSt3mapISsSt4pairIPciESt4lessISsESaIS4_IKSsS6_EEE +00000000001adba0 T _ZN8ixformer9inference3gpt11ParallelGPT15AllocateKVcacheEv +00000000001af920 T _ZN8ixformer9inference3gpt11ParallelGPT20decode_layer_forwardEP6__halfPiS4_S4_S4_S4_S4_S4_S4_RSt13unordered_mapISsS4_St4hashISsESt8equal_toISsESaISt4pairIKSsS4_EEEiiiiiiiiibi +00000000001aee00 T _ZN8ixformer9inference3gpt11ParallelGPT7forwardEPiS3_P6__halfiibi +00000000001abc10 T _ZN8ixformer9inference3gpt11ParallelGPTC1ERSt3mapISsSt4pairIPciESt4lessISsESaIS4_IKSsS6_EEEiiiiiiiiiiSsiii +00000000001abc10 T _ZN8ixformer9inference3gpt11ParallelGPTC2ERSt3mapISsSt4pairIPciESt4lessISsESaIS4_IKSsS6_EEEiiiiiiiiiiSsiii +00000000001b1080 T _ZN8ixformer9inference3gpt11ParallelGPTD1Ev +00000000001b1080 T _ZN8ixformer9inference3gpt11ParallelGPTD2Ev +00000000001ab560 T _ZN8ixformer9inference3gpt19gpt_parallel_helper10initTokensEPiS3_S3_S3_iiiiP11CUstream_st +00000000001ab740 T _ZN8ixformer9inference3gpt19gpt_parallel_helper15transposeTokensEPiS3_iiP11CUstream_st +00000000001abaf0 T _ZN8ixformer9inference3gpt19gpt_parallel_helper16ArgmaxWithLengthEP6__halfPiS5_S5_iiiP11CUstream_st +00000000001ab8e0 T _ZN8ixformer9inference3gpt19gpt_parallel_helper18SelectDataByLengthEP6__halfPiS4_iiiP11CUstream_st +00000000001ab4a0 T _ZN8ixformer9inference3gpt19gpt_parallel_helper33__device_stub__initTokenIdsKernelEPiS3_S3_S3_ii +00000000001ab6d0 T _ZN8ixformer9inference3gpt19gpt_parallel_helper36__device_stub__transposeTokensKernelEPiS3_ +00000000001aba30 T _ZN8ixformer9inference3gpt19gpt_parallel_helper37__device_stub__ArgmaxWithLengthKernelEP6__halfPiS5_S5_ii +00000000001ab840 T _ZN8ixformer9inference3gpt19gpt_parallel_helper39__device_stub__SelectDataByLengthKernelEP6__halfPiS4_ii +00000000001e0350 T _ZN8ixformer9inference40__device_stub__IxinferDecSelfKvCatI8II8OEPaS1_PKaS3_iiii +00000000001e12c0 T _ZN8ixformer9inference40__device_stub__IxinferDecSelfKvCatKernelEP6__halfS2_S2_S2_iiii +00000000001d9170 T _ZN8ixformer9inference40__device_stub__IxinferResidualBiasKernelEP6__halfS2_S2_S2_i +00000000001e1de0 T _ZN8ixformer9inference41__device_stub__IxinferArrangeEncQkvKernelEP6__halfS2_S2_S2_S2_iiii +00000000001e2390 T _ZN8ixformer9inference41__device_stub__IxinferArrangeEncQkvKernelEP6__halfS2_S2_S2_iii +00000000001e2ca0 T _ZN8ixformer9inference41__device_stub__IxinferGPT2SelfKvCatKernelEP6__halfS2_S2_S2_iii +00000000001facf0 T _ZN8ixformer9inference41__device_stub__IxinferInitDecTokensKernelEPiiii +00000000001e17e0 T _ZN8ixformer9inference42__device_stub__IxinferArrangeDecEncQKernelEPK6__halfS3_PS1_iiii +00000000001e8b10 T _ZN8ixformer9inference43__device_stub__VocabParallelEmbeddingKernelEPiP6__halfS3_iiii +00000000001e1a60 T _ZN8ixformer9inference44__device_stub__IxinferArrangeDecEncQkvKernelEPK6__halfS3_S3_S3_PS1_S4_S4_iiiii +00000000001840b0 T _ZN8ixformer9inference44__device_stub__IxinferDecoderApplyRopeKernelEPiP6__halfS3_S3_S3_S3_iiii +00000000001f37d0 T _ZN8ixformer9inference44__device_stub__IxinferLogSoftmaxNormalKernelEPK6__halfPS1_i +00000000001e0f00 T _ZN8ixformer9inference45__device_stub__IxinferArrangeDecSelfQkvKernelEPK6__halfS3_PS1_S4_S4_S4_S4_iiiiii +00000000001e15d0 T _ZN8ixformer9inference45__device_stub__IxinferDecAttnOutArrangeKernelEPK6__halfPS1_iii +00000000001fb130 T _ZN8ixformer9inference45__device_stub__IxinferDecTokenTransposeKernelEPiS1_i +00000000001e2110 T _ZN8ixformer9inference45__device_stub__IxinferEncAttnOutArrangeKernelEPK6__halfPS1_iiiii +00000000001843a0 T _ZN8ixformer9inference45__device_stub__IxinferLLamaDecoderKvCatKernelEP6__halfS2_S2_S2_iii +00000000001e2900 T _ZN8ixformer9inference46__device_stub__IxinferArrangeGPT2SelfQkvKernelEPiPK6__halfPS2_S5_S5_S5_S5_iiiii +00000000001fb410 T _ZN8ixformer9inference46__device_stub__IxinferDecFormatEncOutputKernelEPK6__halfPKaPS1_Pii +00000000001faeb0 T _ZN8ixformer9inference46__device_stub__IxinferDecFormatEncOutputKernelEPK6__halfPKaPaS6_if +00000000001fb650 T _ZN8ixformer9inference46__device_stub__IxinferDecFormatEncOutputKernelEPK6__halfPKiPS1_Pii +00000000001d0a70 T _ZN8ixformer9inference48__device_stub__GLMint8WeightExtractionHalfKernelEPaP6__halfS3_i +00000000001e0c10 T _ZN8ixformer9inference48__device_stub__IxinferArrangeDecEncQI8II8OKernelEPKaPK6__halfPaiiiiff +00000000001d1a30 T _ZN8ixformer9inference48__device_stub__kernel_segmented_radix_sort_setupEP6__halfS2_PiS3_iii +00000000001e25f0 T _ZN8ixformer9inference49__device_stub__IxinferArrangeGPT2ContextQkvKernelEP6__halfS2_S2_S2_S2_S2_iiiii +000000000019df20 T _ZN8ixformer9inference4GPT213greedy_searchEPiS2_S2_iii +000000000019d670 T _ZN8ixformer9inference4GPT24InitESsSsiiii +000000000019d5f0 T _ZN8ixformer9inference4GPT2C1Ev +000000000019d5f0 T _ZN8ixformer9inference4GPT2C2Ev +000000000019d620 T _ZN8ixformer9inference4GPT2D1Ev +000000000019d620 T _ZN8ixformer9inference4GPT2D2Ev +00000000001f3ee0 T _ZN8ixformer9inference50__device_stub__AttentionMaskedSoftmaxAnysizeKernelEP6__halfPiS2_iii +00000000001e0820 T _ZN8ixformer9inference50__device_stub__IxinferArrangeDecEncQkvI8II8OKernelEPKaS2_PK6__halfS5_PaS6_S6_iiiiiff +0000000000183830 T _ZN8ixformer9inference50__device_stub__IxinferArrangeLLamaContextQkvKernelEP6__halfS2_S2_S2_S2_iiiii +0000000000183b10 T _ZN8ixformer9inference50__device_stub__IxinferArrangeLlamaDecoderQkvKernelEPiP6__halfS3_S3_S3_S3_iiii +00000000001dfed0 T _ZN8ixformer9inference51__device_stub__IxinferArrangeDecSelfQkvI8II8OKernelEPKaPK6__halfPaS6_S6_S6_S6_iiiiiiff +00000000001e0610 T _ZN8ixformer9inference51__device_stub__IxinferDecAttnOutArrangeI8II8OKernelEPKaPaiii +00000000001f3a00 T _ZN8ixformer9inference52__device_stub__IxinferCausalMaskSoftmaxAnySizeKernelEP6__halfPiS2_ii +0000000000172fd0 T _ZN8ixformer9inference5GEGLUEP6__halfS2_iiP11CUstream_st +00000000001c4a40 T _ZN8ixformer9inference5LLaMa15stream_generateEPiS2_S2_iiibyb +00000000001c4120 T _ZN8ixformer9inference5LLaMa4InitESsSsiiii +00000000001c4a30 T _ZN8ixformer9inference5LLaMa8generateEPiS2_S2_iiiby +00000000001c40a0 T _ZN8ixformer9inference5LLaMaC1Ev +00000000001c40a0 T _ZN8ixformer9inference5LLaMaC2Ev +00000000001c40d0 T _ZN8ixformer9inference5LLaMaD1Ev +00000000001c40d0 T _ZN8ixformer9inference5LLaMaD2Ev +00000000001d3a10 T _ZN8ixformer9inference6Tensor19copy_tensor_membersERKS1_ +00000000001d3fa0 T _ZN8ixformer9inference6Tensor22get_num_byte_for_dtypeENS0_14TensorDataTypeE +00000000001d4220 T _ZN8ixformer9inference6Tensor2toENS0_12TargetDeviceE +00000000001d40e0 T _ZN8ixformer9inference6Tensor2toENS0_14TensorDataTypeE +00000000001d49d0 T _ZN8ixformer9inference6Tensor2toERKNS0_6DeviceE +00000000001d4b00 T _ZN8ixformer9inference6Tensor2toEi +00000000001d4b20 T _ZN8ixformer9inference6Tensor3cpuEv +00000000001d4b30 T _ZN8ixformer9inference6Tensor4cudaEv +00000000001d3cc0 T _ZN8ixformer9inference6Tensor4ndimEv +00000000001d4b40 T _ZN8ixformer9inference6Tensor4viewERKSt6vectorImSaImEE +00000000001d4da0 T _ZN8ixformer9inference6Tensor5cloneEv +00000000001d3820 T _ZN8ixformer9inference6Tensor5dtypeEv +00000000001d3cd0 T _ZN8ixformer9inference6Tensor5numelEv +00000000001d3840 T _ZN8ixformer9inference6Tensor5shapeEv +00000000001d3830 T _ZN8ixformer9inference6Tensor6deviceEv +00000000001d3d00 T _ZN8ixformer9inference6Tensor7stridesEv +00000000001d3400 T _ZN8ixformer9inference6Tensor9num_bytesEv +00000000001d3450 T _ZN8ixformer9inference6TensorC1ENS0_14TensorDataTypeENS0_12TargetDeviceERKSt6vectorImSaImEE +00000000001d3440 T _ZN8ixformer9inference6TensorC1ENS0_14TensorDataTypeERKNS0_6DeviceERKSt6vectorImSaImEE +00000000001d2ff0 T _ZN8ixformer9inference6TensorC1ENS0_14TensorDataTypeERKNS0_6DeviceERKSt6vectorImSaImEEb +00000000001d3b00 T _ZN8ixformer9inference6TensorC1EOS1_ +00000000001d3640 T _ZN8ixformer9inference6TensorC1EPvNS0_14TensorDataTypeENS0_12TargetDeviceERKSt6vectorImSaImEE +00000000001d34a0 T _ZN8ixformer9inference6TensorC1EPvNS0_14TensorDataTypeERKNS0_6DeviceERKSt6vectorImSaImEE +00000000001d38e0 T _ZN8ixformer9inference6TensorC1ERKS1_ +00000000001d3590 T _ZN8ixformer9inference6TensorC1ESt10shared_ptrINS0_11DataPointerEENS0_14TensorDataTypeERKNS0_6DeviceERKSt6vectorImSaImEE +00000000001d3c10 T _ZN8ixformer9inference6TensorC1ESt10shared_ptrINS0_11DataPointerEERKS1_ +00000000001d3690 T _ZN8ixformer9inference6TensorC1ESt10shared_ptrINS0_11DataPointerEERKS2_IS1_E +00000000001d2f40 T _ZN8ixformer9inference6TensorC1Ev +00000000001d3450 T _ZN8ixformer9inference6TensorC2ENS0_14TensorDataTypeENS0_12TargetDeviceERKSt6vectorImSaImEE +00000000001d3440 T _ZN8ixformer9inference6TensorC2ENS0_14TensorDataTypeERKNS0_6DeviceERKSt6vectorImSaImEE +00000000001d2ff0 T _ZN8ixformer9inference6TensorC2ENS0_14TensorDataTypeERKNS0_6DeviceERKSt6vectorImSaImEEb +00000000001d3b00 T _ZN8ixformer9inference6TensorC2EOS1_ +00000000001d3640 T _ZN8ixformer9inference6TensorC2EPvNS0_14TensorDataTypeENS0_12TargetDeviceERKSt6vectorImSaImEE +00000000001d34a0 T _ZN8ixformer9inference6TensorC2EPvNS0_14TensorDataTypeERKNS0_6DeviceERKSt6vectorImSaImEE +00000000001d38e0 T _ZN8ixformer9inference6TensorC2ERKS1_ +00000000001d3590 T _ZN8ixformer9inference6TensorC2ESt10shared_ptrINS0_11DataPointerEENS0_14TensorDataTypeERKNS0_6DeviceERKSt6vectorImSaImEE +00000000001d3c10 T _ZN8ixformer9inference6TensorC2ESt10shared_ptrINS0_11DataPointerEERKS1_ +00000000001d3690 T _ZN8ixformer9inference6TensorC2ESt10shared_ptrINS0_11DataPointerEERKS2_IS1_E +00000000001d2f40 T _ZN8ixformer9inference6TensorC2Ev +00000000001d2f70 T _ZN8ixformer9inference6TensorD1Ev +00000000001d2f70 T _ZN8ixformer9inference6TensorD2Ev +000000000018a8e0 T _ZN8ixformer9inference7ChatGLM11PrintConfigEv +000000000018b650 T _ZN8ixformer9inference7ChatGLM13greedy_searchEPiS2_S2_iii +000000000018be30 T _ZN8ixformer9inference7ChatGLM13sample_searchEPiS2_S2_iiiiffy +00000000001896b0 T _ZN8ixformer9inference7ChatGLM14AllocateBufferEv +0000000000187d10 T _ZN8ixformer9inference7ChatGLM14AllocateWeightERSt3mapISsSt4pairIPciESt4lessISsESaIS3_IKSsS5_EEE +000000000018a400 T _ZN8ixformer9inference7ChatGLM15AllocateKVcacheEv +000000000018ca00 T _ZN8ixformer9inference7ChatGLM15stream_generateEPiS2_S2_iiiiffyb +0000000000189c90 T _ZN8ixformer9inference7ChatGLM21AllocateDecoderBufferEv +000000000018aea0 T _ZN8ixformer9inference7ChatGLM7forwardEPiS2_S2_P6__halfiiib +00000000001865e0 T _ZN8ixformer9inference7ChatGLM8GLMBlockEP6__halfPiS4_S3_S3_S3_S3_S3_S3_S3_S3_S3_RSt13unordered_mapISsS3_St4hashISsESt8equal_toISsESaISt4pairIKSsS3_EEEiiiiiiibiRP14cuinferContextRP11CUstream_st +000000000018c9d0 T _ZN8ixformer9inference7ChatGLM8generateEPiS2_S2_iiiiffby +0000000000187820 T _ZN8ixformer9inference7ChatGLMC1ERSt3mapISsSt4pairIPciESt4lessISsESaIS3_IKSsS5_EEEiiiiiiiiiiii +0000000000187820 T _ZN8ixformer9inference7ChatGLMC2ERSt3mapISsSt4pairIPciESt4lessISsESaIS3_IKSsS5_EEEiiiiiiiiiiii +000000000018d470 T _ZN8ixformer9inference7ChatGLMD1Ev +000000000018d470 T _ZN8ixformer9inference7ChatGLMD2Ev +0000000000195d10 T _ZN8ixformer9inference7GLM130B11PrintConfigEv +0000000000196d90 T _ZN8ixformer9inference7GLM130B13layer_forwardEP6__halfPiS4_S3_RSt13unordered_mapISsS3_St4hashISsESt8equal_toISsESaISt4pairIKSsS3_EEERS5_ISsPaS7_S9_SaISA_ISB_SG_EEES3_S3_iiiii +00000000001958c0 T _ZN8ixformer9inference7GLM130B14AllocateBufferEv +0000000000196ae0 T _ZN8ixformer9inference7GLM130B17AllocateEmbWeightEv +0000000000197c20 T _ZN8ixformer9inference7GLM130B7forwardEPiS2_S2_P6__halfSt6vectorIS4_SaIS4_EES7_iiiiib +0000000000194f80 T _ZN8ixformer9inference7GLM130BC1ESt6vectorISt13unordered_mapISsP6__halfSt4hashISsESt8equal_toISsESaISt4pairIKSsS5_EEESaISE_EES2_IS3_ISsPaS7_S9_SaISA_ISB_SH_EEESaISK_EESE_iiiiiiiii +0000000000196160 T _ZN8ixformer9inference7GLM130BC1ESt6vectorISt13unordered_mapISsP6__halfSt4hashISsESt8equal_toISsESaISt4pairIKSsS5_EEESaISE_EESE_iiiiiiiii +0000000000194f80 T _ZN8ixformer9inference7GLM130BC2ESt6vectorISt13unordered_mapISsP6__halfSt4hashISsESt8equal_toISsESaISt4pairIKSsS5_EEESaISE_EES2_IS3_ISsPaS7_S9_SaISA_ISB_SH_EEESaISK_EESE_iiiiiiiii +0000000000196160 T _ZN8ixformer9inference7GLM130BC2ESt6vectorISt13unordered_mapISsP6__halfSt4hashISsESt8equal_toISsESaISt4pairIKSsS5_EEESaISE_EESE_iiiiiiiii +0000000000196920 T _ZN8ixformer9inference7GLM130BD1Ev +0000000000196920 T _ZN8ixformer9inference7GLM130BD2Ev +00000000001c5c40 T _ZN8ixformer9inference7TPLlama13greedy_searchEPiS2_S2_iii +00000000001c5c50 T _ZN8ixformer9inference7TPLlama15stream_generateEPiS2_S2_iiib +00000000001c5480 T _ZN8ixformer9inference7TPLlama4InitESsSsiiiii +00000000001c5400 T _ZN8ixformer9inference7TPLlamaC1Ev +00000000001c5400 T _ZN8ixformer9inference7TPLlamaC2Ev +00000000001c5430 T _ZN8ixformer9inference7TPLlamaD1Ev +00000000001c5430 T _ZN8ixformer9inference7TPLlamaD2Ev +00000000001cff80 T _ZN8ixformer9inference7modules10Sequential10add_moduleERKSt10shared_ptrINS1_6ModuleEE +00000000001d0100 T _ZN8ixformer9inference7modules10Sequential10get_moduleEi +00000000001d0170 T _ZN8ixformer9inference7modules10Sequential10num_layersEv +00000000001cfff0 T _ZN8ixformer9inference7modules10Sequential10pop_moduleEi +00000000001cfe80 T _ZN8ixformer9inference7modules10Sequential7forwardERSt6vectorINS0_6TensorESaIS4_EE +00000000001cfe10 T _ZN8ixformer9inference7modules10SequentialC1ESt6vectorISt10shared_ptrINS1_6ModuleEESaIS6_EE +00000000001cfe10 T _ZN8ixformer9inference7modules10SequentialC2ESt6vectorISt10shared_ptrINS1_6ModuleEESaIS6_EE +00000000001c5ca0 T _ZN8ixformer9inference7modules13ModelParallel16init_distributedEv +00000000001c5c80 T _ZN8ixformer9inference7modules13ModelParallel18get_current_deviceEv +00000000001c6800 T _ZN8ixformer9inference7modules13ModelParallel22send_to_next_partitionEPvm14ncclDataType_t +00000000001c6ae0 T _ZN8ixformer9inference7modules13ModelParallel24recv_from_last_partitionEPvm14ncclDataType_t +00000000001c6970 T _ZN8ixformer9inference7modules13ModelParallel24recv_from_prev_partitionEPvm14ncclDataType_t +00000000001c5c90 T _ZN8ixformer9inference7modules13ModelParallel4initEv +00000000001c5c60 T _ZN8ixformer9inference7modules13ModelParallelC1Eiii +00000000001c5c60 T _ZN8ixformer9inference7modules13ModelParallelC2Eiii +00000000001cbc90 T _ZN8ixformer9inference7modules16PipelineParallel10num_layersEv +00000000001cd050 T _ZN8ixformer9inference7modules16PipelineParallel11split_batchERSt6vectorINS0_6TensorESaIS4_EE +00000000001cbb00 T _ZN8ixformer9inference7modules16PipelineParallel12add_shardingERKSt10shared_ptrINS1_13ModelShardingEE +00000000001cbfe0 T _ZN8ixformer9inference7modules16PipelineParallel12chunk_tensorERNS0_6TensorEi +00000000001cbd40 T _ZN8ixformer9inference7modules16PipelineParallel12get_shardingEi +00000000001cbcb0 T _ZN8ixformer9inference7modules16PipelineParallel12pop_shardingEi +00000000001cbde0 T _ZN8ixformer9inference7modules16PipelineParallel14get_comm_groupEv +00000000001cbfa0 T _ZN8ixformer9inference7modules16PipelineParallel14num_partitionsEv +00000000001cbfb0 T _ZN8ixformer9inference7modules16PipelineParallel16get_partition_idEv +00000000001cbbf0 T _ZN8ixformer9inference7modules16PipelineParallel16init_distributedEv +00000000001cdd00 T _ZN8ixformer9inference7modules16PipelineParallel17forward_one_batchERSt6vectorINS0_6TensorESaIS4_EEi +00000000001cd2b0 T _ZN8ixformer9inference7modules16PipelineParallel17merge_microbatchsERSt6vectorIS3_INS0_6TensorESaIS4_EESaIS6_EE +00000000001cbe10 T _ZN8ixformer9inference7modules16PipelineParallel21check_pipeline_statusEv +00000000001cbfd0 T _ZN8ixformer9inference7modules16PipelineParallel21get_next_partition_idEi +00000000001cbfc0 T _ZN8ixformer9inference7modules16PipelineParallel21get_prev_partition_idEi +00000000001cbbd0 T _ZN8ixformer9inference7modules16PipelineParallel4initERKNS0_16ExecutionContextE +00000000001cbbc0 T _ZN8ixformer9inference7modules16PipelineParallel4initEv +00000000001cd750 T _ZN8ixformer9inference7modules16PipelineParallel7forwardERSt6vectorINS0_6TensorESaIS4_EE +00000000001cbac0 T _ZN8ixformer9inference7modules16PipelineParallelC1ERKSt10shared_ptrINS0_10distribued19DistribuedCommGroupEEi +00000000001cb900 T _ZN8ixformer9inference7modules16PipelineParallelC1ERKSt6vectorISt10shared_ptrINS1_13ModelShardingEESaIS6_EERKS4_INS0_10distribued19DistribuedCommGroupEEi +00000000001cb650 T _ZN8ixformer9inference7modules16PipelineParallelC1Ei +00000000001cbac0 T _ZN8ixformer9inference7modules16PipelineParallelC2ERKSt10shared_ptrINS0_10distribued19DistribuedCommGroupEEi +00000000001cb900 T _ZN8ixformer9inference7modules16PipelineParallelC2ERKSt6vectorISt10shared_ptrINS1_13ModelShardingEESaIS6_EERKS4_INS0_10distribued19DistribuedCommGroupEEi +00000000001cb650 T _ZN8ixformer9inference7modules16PipelineParallelC2Ei +00000000001c8ef0 T _ZN8ixformer9inference7modules6Module10get_bufferERKSs +00000000001c8f30 T _ZN8ixformer9inference7modules6Module10get_moduleERKSs +00000000001c8550 T _ZN8ixformer9inference7modules6Module10state_dictERSs +00000000001c8b30 T _ZN8ixformer9inference7modules6Module10state_dictEv +00000000001c8be0 T _ZN8ixformer9inference7modules6Module13check_weightsEv +00000000001c9010 T _ZN8ixformer9inference7modules6Module13named_modulesERKSs +00000000001c6ed0 T _ZN8ixformer9inference7modules6Module14ixinfer_handleEv +00000000001c81e0 T _ZN8ixformer9inference7modules6Module14registe_bufferERKSsRKSt10shared_ptrINS0_6TensorEE +00000000001c8dd0 T _ZN8ixformer9inference7modules6Module14registe_moduleERKSsRKSt10shared_ptrIS2_E +00000000001c74a0 T _ZN8ixformer9inference7modules6Module15load_state_dictERSt3mapISsSt10shared_ptrINS0_6TensorEESt4lessISsESaISt4pairIKSsS6_EEEb +00000000001c8bc0 T _ZN8ixformer9inference7modules6Module16required_weightsEv +00000000001c8300 T _ZN8ixformer9inference7modules6Module24find_missing_weight_keysEv +00000000001c7190 T _ZN8ixformer9inference7modules6Module2toENS0_12TargetDeviceE +00000000001c6ee0 T _ZN8ixformer9inference7modules6Module2toENS0_14TensorDataTypeE +00000000001c71d0 T _ZN8ixformer9inference7modules6Module2toERKNS0_6DeviceE +00000000001c6d40 T _ZN8ixformer9inference7modules6Module4initERKNS0_16ExecutionContextE +00000000001c7490 T _ZN8ixformer9inference7modules6Module6deviceEv +00000000001c6ec0 T _ZN8ixformer9inference7modules6Module6streamEv +00000000001c94b0 T _ZN8ixformer9inference7modules6Module7forwardERSt6vectorINS0_6TensorESaIS4_EE +00000000001c8f70 T _ZN8ixformer9inference7modules6Module7modulesEv +00000000001c9360 T _ZN8ixformer9inference7modules6Module9to_stringEv +00000000001c6cc0 T _ZN8ixformer9inference7modules6ModuleC1Ev +00000000001c6cc0 T _ZN8ixformer9inference7modules6ModuleC2Ev +00000000001c94a0 T _ZN8ixformer9inference7modules6ModuleclERSt6vectorINS0_6TensorESaIS4_EE +0000000000184df0 T _ZN8ixformer9inference8IsAllEosEPiS1_iiS1_P11CUstream_st +0000000000182fe0 T _ZN8ixformer9inference8LlamaMLPEP6__halfS2_S2_S2_S2_S2_S2_iiiRP14cuinferContextRP11CUstream_st +0000000000176190 T _ZN8ixformer9inference9File2JsonERKSsPN8nlohmann16json_abi_v3_11_210basic_jsonISt3mapSt6vectorSsblmdSaNS4_14adl_serializerES7_IhSaIhEEvEE +000000000019f760 T _ZN8ixformer9inference9GPT2BlockEP6__halfPiS2_S2_S2_S2_S2_S2_S2_RSt13unordered_mapISsS2_St4hashISsESt8equal_toISsESaISt4pairIKSsS2_EEEiiiiiiiibiRP14cuinferContextRP11CUstream_st +00000000001a09d0 T _ZN8ixformer9inference9GPT2Model7forwardEPiS2_P6__halfS4_S4_S4_S4_iibi +00000000001a07c0 T _ZN8ixformer9inference9GPT2ModelC1ERSt6vectorISt13unordered_mapISsP6__halfSt4hashISsESt8equal_toISsESaISt4pairIKSsS5_EEESaISE_EERSE_RS2_IS2_IS5_SaIS5_EESaISK_EEiiiiiRP11CUstream_stRP14cuinferContext +00000000001a07c0 T _ZN8ixformer9inference9GPT2ModelC2ERSt6vectorISt13unordered_mapISsP6__halfSt4hashISsESt8equal_toISsESaISt4pairIKSsS5_EEESaISE_EERSE_RS2_IS2_IS5_SaIS5_EESaISK_EEiiiiiRP11CUstream_stRP14cuinferContext +00000000001a1270 T _ZN8ixformer9inference9GPT2ModelD1Ev +00000000001a1270 T _ZN8ixformer9inference9GPT2ModelD2Ev +00000000001e3e40 T _ZN8ixformer9inference9GlmMemCatEP6__halfS2_S2_S2_S2_iiiiiiiP11CUstream_st +000000000039f890 T _ZN8lightllm20apply_penalty_launchEPfPKfS2_PKiS4_S4_iiiP11CUstream_st +000000000039fe70 T _ZN8lightllm26glm2_rotary_pos_emb_launchEP6__halfS1_S1_iiiiP11CUstream_st +000000000039fdb0 T _ZN8lightllm34__device_stub__glm2_rotary_pos_embEP6__halfS1_S1_iii +000000000039f7c0 T _ZN8lightllm35__device_stub__apply_penalty_kernalEPfPKfS2_PKiS4_S4_i +00000000002032f0 T _ZNK8ixformer10CudaStream11device_typeEv +0000000000203340 T _ZNK8ixformer10CudaStream11synchronizeEv +0000000000203300 T _ZNK8ixformer10CudaStream12device_indexEv +0000000000203310 T _ZNK8ixformer10CudaStream2idEv +0000000000203320 T _ZNK8ixformer10CudaStream5queryEv +00000000002032d0 T _ZNK8ixformer10CudaStream6deviceEv +00000000002033b0 T _ZNK8ixformer10CudaStream9to_stringEv +0000000000203350 T _ZNK8ixformer10CudaStreameqERKS0_ +0000000000203380 T _ZNK8ixformer10CudaStreamneERKS0_ +0000000000417a20 T _ZNK8ixformer10TensorImpl10ndimensionEv +0000000000417a90 T _ZNK8ixformer10TensorImpl12is_contigousENS_12MemoryFormatE +0000000000418480 T _ZNK8ixformer10TensorImpl12retains_gradEv +0000000000418270 T _ZNK8ixformer10TensorImpl13autograd_metaEv +0000000000418230 T _ZNK8ixformer10TensorImpl13requires_gradEv +00000000004178b0 T _ZNK8ixformer10TensorImpl13shape_stridesEv +0000000000418240 T _ZNK8ixformer10TensorImpl17is_floating_pointEv +0000000000417a00 T _ZNK8ixformer10TensorImpl3dimEv +0000000000418280 T _ZNK8ixformer10TensorImpl4gradEv +0000000000417b20 T _ZNK8ixformer10TensorImpl4sizeEi +0000000000418080 T _ZNK8ixformer10TensorImpl5dtypeEv +0000000000418090 T _ZNK8ixformer10TensorImpl5numelEv +00000000004178c0 T _ZNK8ixformer10TensorImpl5shapeEv +0000000000418490 T _ZNK8ixformer10TensorImpl6detachEv +0000000000418190 T _ZNK8ixformer10TensorImpl6deviceEv +0000000000418180 T _ZNK8ixformer10TensorImpl6formatEv +00000000004181c0 T _ZNK8ixformer10TensorImpl6is_cpuEv +0000000000418170 T _ZNK8ixformer10TensorImpl6layoutEv +0000000000417250 T _ZNK8ixformer10TensorImpl6nbytesEv +0000000000417dc0 T _ZNK8ixformer10TensorImpl6strideEi +0000000000418380 T _ZNK8ixformer10TensorImpl7grad_fnEv +00000000004181f0 T _ZNK8ixformer10TensorImpl7is_cudaEv +00000000004185f0 T _ZNK8ixformer10TensorImpl7is_leafEv +00000000004181b0 T _ZNK8ixformer10TensorImpl7optionsEv +0000000000417880 T _ZNK8ixformer10TensorImpl7storageEv +00000000004178d0 T _ZNK8ixformer10TensorImpl7stridesEv +0000000000418060 T _ZNK8ixformer10TensorImpl8itemsizeEv +00000000004186a0 T _ZNK8ixformer10TensorImpl9is_sparseEv +0000000000202720 T _ZNK8ixformer11CudaContext6streamERKNS_6DeviceE +0000000000202650 T _ZNK8ixformer11CudaContext6streamEi +0000000000202600 T _ZNK8ixformer11CudaContext6streamEv +0000000000418fc0 T _ZNK8ixformer13TensorOptions13pinned_memoryEv +0000000000418e70 T _ZNK8ixformer13TensorOptions13requires_gradEv +0000000000418f60 T _ZNK8ixformer13TensorOptions5dtypeEv +0000000000419020 T _ZNK8ixformer13TensorOptions6deviceEv +0000000000419140 T _ZNK8ixformer13TensorOptions6formatEv +00000000004190e0 T _ZNK8ixformer13TensorOptions6layoutEv +0000000000415fc0 T _ZNK8ixformer15ShapeAndStrides5shapeEv +0000000000415fd0 T _ZNK8ixformer15ShapeAndStrides7stridesEv +0000000000416000 T _ZNK8ixformer15ShapeAndStrides9to_stringEv +0000000000201bf0 T _ZNK8ixformer6Device4typeEv +0000000000201c00 T _ZNK8ixformer6Device5indexEv +0000000000201c20 T _ZNK8ixformer6Device6is_cpuEv +0000000000201600 T _ZNK8ixformer6Device7is_cudaEv +0000000000201c10 T _ZNK8ixformer6Device9has_indexEv +0000000000201c70 T _ZNK8ixformer6Device9to_stringEv +0000000000201c30 T _ZNK8ixformer6DeviceeqERKS0_ +0000000000201c50 T _ZNK8ixformer6DeviceneERKS0_ +0000000000412050 T _ZNK8ixformer6Tensor10ndimensionEv +0000000000412170 T _ZNK8ixformer6Tensor11tensor_dataEv +0000000000412c60 T _ZNK8ixformer6Tensor12retains_gradEv +0000000000412910 T _ZNK8ixformer6Tensor13autograd_metaEv +0000000000412070 T _ZNK8ixformer6Tensor13is_contiguousENS_12MemoryFormatE +0000000000412290 T _ZNK8ixformer6Tensor13requires_gradEv +00000000004134c0 T _ZNK8ixformer6Tensor13to_raw_memoryEb +00000000004122a0 T _ZNK8ixformer6Tensor17is_floating_pointEv +0000000000412df0 T _ZNK8ixformer6Tensor2toENS_8DataTypeE +0000000000412d80 T _ZNK8ixformer6Tensor2toERKNS_6DeviceEb +0000000000412d90 T _ZNK8ixformer6Tensor2toERKSsb +0000000000412de0 T _ZNK8ixformer6Tensor2toEib +00000000004131f0 T _ZNK8ixformer6Tensor3cpuEv +0000000000412030 T _ZNK8ixformer6Tensor3dimEv +0000000000413280 T _ZNK8ixformer6Tensor4cudaEib +0000000000412920 T _ZNK8ixformer6Tensor4gradEv +0000000000411cc0 T _ZNK8ixformer6Tensor4implEv +0000000000413cf0 T _ZNK8ixformer6Tensor4infoEv +0000000000412040 T _ZNK8ixformer6Tensor4ndimEv +0000000000412090 T _ZNK8ixformer6Tensor4sizeEi +0000000000412080 T _ZNK8ixformer6Tensor4sizeEv +00000000004122b0 T _ZNK8ixformer6Tensor4viewERKSt6vectorIlSaIlEE +0000000000413120 T _ZNK8ixformer6Tensor5cloneEb +0000000000412100 T _ZNK8ixformer6Tensor5dtypeEv +00000000004120d0 T _ZNK8ixformer6Tensor5numelEv +0000000000411ff0 T _ZNK8ixformer6Tensor5shapeEv +0000000000412c70 T _ZNK8ixformer6Tensor6detachEv +0000000000412110 T _ZNK8ixformer6Tensor6deviceEv +00000000004120f0 T _ZNK8ixformer6Tensor6formatEv +0000000000412130 T _ZNK8ixformer6Tensor6is_cpuEv +00000000004120e0 T _ZNK8ixformer6Tensor6layoutEv +00000000004120c0 T _ZNK8ixformer6Tensor6nbytesEv +00000000004120a0 T _ZNK8ixformer6Tensor6strideEi +00000000004128f0 T _ZNK8ixformer6Tensor7definedEv +0000000000412b50 T _ZNK8ixformer6Tensor7grad_fnEv +0000000000412140 T _ZNK8ixformer6Tensor7is_cudaEv +0000000000412d50 T _ZNK8ixformer6Tensor7is_leafEv +0000000000412150 T _ZNK8ixformer6Tensor7optionsEv +0000000000413310 T _ZNK8ixformer6Tensor7permuteERKSt6vectorIiSaIiEE +00000000004128e0 T _ZNK8ixformer6Tensor7reshapeERKSt6vectorIlSaIlEE +0000000000411be0 T _ZNK8ixformer6Tensor7storageEv +0000000000412000 T _ZNK8ixformer6Tensor7stridesEv +00000000004120b0 T _ZNK8ixformer6Tensor8itemsizeEv +0000000000412d60 T _ZNK8ixformer6Tensor9is_sparseEv +0000000000414d10 T _ZNK8ixformer6Tensor9to_stringEv +00000000004133e0 T _ZNK8ixformer6Tensor9transposeEii +00000000002000d0 T _ZNK8ixformer7Context6deviceEv +00000000001fffc0 T _ZNK8ixformer7Context6streamEi +00000000001fffb0 T _ZNK8ixformer7Context6streamEv +0000000000410ff0 T _ZNK8ixformer7DataPtr11device_typeEv +0000000000411010 T _ZNK8ixformer7DataPtr11get_deleterEv +0000000000411000 T _ZNK8ixformer7DataPtr12device_indexEv +0000000000410fc0 T _ZNK8ixformer7DataPtr3getEv +0000000000410fd0 T _ZNK8ixformer7DataPtr6deviceEv +0000000000174980 T _ZNK8ixformer9inference10distribued3mpi7MpiComm14is_initializedEv +0000000000415040 T _ZdvRKN8ixformer6TensorES2_ +0000000000415060 T _ZdvRKN8ixformer6TensorEf +0000000000415050 T _ZdvfRKN8ixformer6TensorE +0000000000414fe0 T _ZmiRKN8ixformer6TensorES2_ +0000000000415000 T _ZmiRKN8ixformer6TensorEf +0000000000414ff0 T _ZmifRKN8ixformer6TensorE +0000000000415010 T _ZmlRKN8ixformer6TensorES2_ +0000000000415030 T _ZmlRKN8ixformer6TensorEf +0000000000415020 T _ZmlfRKN8ixformer6TensorE +0000000000414fb0 T _ZplRKN8ixformer6TensorES2_ +0000000000414fd0 T _ZplRKN8ixformer6TensorEf +0000000000414fc0 T _ZplfRKN8ixformer6TensorE +0000000000419a4c T _fini +0000000000160000 T _init diff --git a/cat_files/symbol_dumps/sym_libcuinfer.txt b/cat_files/symbol_dumps/sym_libcuinfer.txt new file mode 100644 index 00000000..7c4aa646 --- /dev/null +++ b/cat_files/symbol_dumps/sym_libcuinfer.txt @@ -0,0 +1,270 @@ +0000000002f30110 T _ZGTtNKSt11logic_error4whatEv +0000000002f30860 T _ZGTtNKSt13runtime_error4whatEv +0000000002f2ffa0 T _ZGTtNSt11logic_errorC1EPKc +0000000002f30030 T _ZGTtNSt11logic_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f2ffa0 T _ZGTtNSt11logic_errorC2EPKc +0000000002f30030 T _ZGTtNSt11logic_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f300f0 T _ZGTtNSt11logic_errorD0Ev +0000000002f300d0 T _ZGTtNSt11logic_errorD1Ev +0000000002f300d0 T _ZGTtNSt11logic_errorD2Ev +0000000002f30880 T _ZGTtNSt11range_errorC1EPKc +0000000002f30910 T _ZGTtNSt11range_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f30880 T _ZGTtNSt11range_errorC2EPKc +0000000002f30910 T _ZGTtNSt11range_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f309d0 T _ZGTtNSt11range_errorD0Ev +0000000002f309b0 T _ZGTtNSt11range_errorD1Ev +0000000002f309b0 T _ZGTtNSt11range_errorD2Ev +0000000002f30130 T _ZGTtNSt12domain_errorC1EPKc +0000000002f301c0 T _ZGTtNSt12domain_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f30130 T _ZGTtNSt12domain_errorC2EPKc +0000000002f301c0 T _ZGTtNSt12domain_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f30280 T _ZGTtNSt12domain_errorD0Ev +0000000002f30260 T _ZGTtNSt12domain_errorD1Ev +0000000002f30260 T _ZGTtNSt12domain_errorD2Ev +0000000002f30410 T _ZGTtNSt12length_errorC1EPKc +0000000002f304a0 T _ZGTtNSt12length_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f30410 T _ZGTtNSt12length_errorC2EPKc +0000000002f304a0 T _ZGTtNSt12length_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f30560 T _ZGTtNSt12length_errorD0Ev +0000000002f30540 T _ZGTtNSt12length_errorD1Ev +0000000002f30540 T _ZGTtNSt12length_errorD2Ev +0000000002f30580 T _ZGTtNSt12out_of_rangeC1EPKc +0000000002f30610 T _ZGTtNSt12out_of_rangeC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f30580 T _ZGTtNSt12out_of_rangeC2EPKc +0000000002f30610 T _ZGTtNSt12out_of_rangeC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f306d0 T _ZGTtNSt12out_of_rangeD0Ev +0000000002f306b0 T _ZGTtNSt12out_of_rangeD1Ev +0000000002f306b0 T _ZGTtNSt12out_of_rangeD2Ev +0000000002f306f0 T _ZGTtNSt13runtime_errorC1EPKc +0000000002f30780 T _ZGTtNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f306f0 T _ZGTtNSt13runtime_errorC2EPKc +0000000002f30780 T _ZGTtNSt13runtime_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f30840 T _ZGTtNSt13runtime_errorD0Ev +0000000002f30820 T _ZGTtNSt13runtime_errorD1Ev +0000000002f30820 T _ZGTtNSt13runtime_errorD2Ev +0000000002f309f0 T _ZGTtNSt14overflow_errorC1EPKc +0000000002f30a80 T _ZGTtNSt14overflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f309f0 T _ZGTtNSt14overflow_errorC2EPKc +0000000002f30a80 T _ZGTtNSt14overflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f30b40 T _ZGTtNSt14overflow_errorD0Ev +0000000002f30b20 T _ZGTtNSt14overflow_errorD1Ev +0000000002f30b20 T _ZGTtNSt14overflow_errorD2Ev +0000000002f30b60 T _ZGTtNSt15underflow_errorC1EPKc +0000000002f30bf0 T _ZGTtNSt15underflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f30b60 T _ZGTtNSt15underflow_errorC2EPKc +0000000002f30bf0 T _ZGTtNSt15underflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f30cb0 T _ZGTtNSt15underflow_errorD0Ev +0000000002f30c90 T _ZGTtNSt15underflow_errorD1Ev +0000000002f30c90 T _ZGTtNSt15underflow_errorD2Ev +0000000002f302a0 T _ZGTtNSt16invalid_argumentC1EPKc +0000000002f30330 T _ZGTtNSt16invalid_argumentC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f302a0 T _ZGTtNSt16invalid_argumentC2EPKc +0000000002f30330 T _ZGTtNSt16invalid_argumentC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +0000000002f303f0 T _ZGTtNSt16invalid_argumentD0Ev +0000000002f303d0 T _ZGTtNSt16invalid_argumentD1Ev +0000000002f303d0 T _ZGTtNSt16invalid_argumentD2Ev +0000000002f2fdf0 T _ZNKSt3_V214error_category10_M_messageEi +0000000002f2f900 T _ZNSt11logic_errorC1EOS_ +0000000002f2f9f0 T _ZNSt11logic_errorC1EPKc +0000000002f2f8b0 T _ZNSt11logic_errorC1ERKS_ +0000000002f2f900 T _ZNSt11logic_errorC2EOS_ +0000000002f2f9f0 T _ZNSt11logic_errorC2EPKc +0000000002f2f8b0 T _ZNSt11logic_errorC2ERKS_ +0000000002f2f930 T _ZNSt11logic_erroraSEOS_ +0000000002f2f8e0 T _ZNSt11logic_erroraSERKS_ +0000000002f2fc50 T _ZNSt11range_errorC1EPKc +0000000002f2fc50 T _ZNSt11range_errorC2EPKc +0000000002f2fae0 T _ZNSt12domain_errorC1EPKc +0000000002f2fae0 T _ZNSt12domain_errorC2EPKc +0000000002f2fb20 T _ZNSt12length_errorC1EPKc +0000000002f2fb20 T _ZNSt12length_errorC2EPKc +0000000002f2fb40 T _ZNSt12out_of_rangeC1EPKc +0000000002f2fb40 T _ZNSt12out_of_rangeC2EPKc +0000000002f2f9a0 T _ZNSt13runtime_errorC1EOS_ +0000000002f2fb60 T _ZNSt13runtime_errorC1EPKc +0000000002f2f950 T _ZNSt13runtime_errorC1ERKS_ +0000000002f2f9a0 T _ZNSt13runtime_errorC2EOS_ +0000000002f2fb60 T _ZNSt13runtime_errorC2EPKc +0000000002f2f950 T _ZNSt13runtime_errorC2ERKS_ +0000000002f2f9d0 T _ZNSt13runtime_erroraSEOS_ +0000000002f2f980 T _ZNSt13runtime_erroraSERKS_ +0000000002f2fc70 T _ZNSt14overflow_errorC1EPKc +0000000002f2fc70 T _ZNSt14overflow_errorC2EPKc +0000000002f2fc90 T _ZNSt15underflow_errorC1EPKc +0000000002f2fc90 T _ZNSt15underflow_errorC2EPKc +0000000002f2fb00 T _ZNSt16invalid_argumentC1EPKc +0000000002f2fb00 T _ZNSt16invalid_argumentC2EPKc +0000000002f30dd0 T _ZNSt8ios_base7_M_moveERS_ +0000000002f30ee0 T _ZNSt8ios_base7_M_swapERS_ +0000000002f30cd0 T _ZSt24__throw_out_of_range_fmtPKcz +0000000002f3458c T _fini +000000000001d000 T _init +0000000002f28b90 T cuInferPageAttention +0000000002f28fc0 T cuInferPageAttentionFuse +0000000002f28560 T cuInferPageAttentionGetWorkspace +0000000002f28360 T cuInferPageAttentionGetWorkspaceV2 +0000000002f28760 T cuInferPageAttentionV2 +0000000002ef37f0 T cuinferActivationForward +0000000002f20e10 T cuinferAddTensor +0000000002ef2790 T cuinferArrangeAttenOutputI8II8O +0000000002ef2710 T cuinferArrangeEncselfQkvI8II8O +0000000002ef2dd0 T cuinferArrangeEncselfQkvSepI8II8O +0000000002ef6680 T cuinferBatchNormalizationForwardInference +0000000002ef5d80 T cuinferBatchNormalizationForwardTraining +0000000002ef6ec0 T cuinferBatchNormalizationForwardTrainingEx +0000000002ef2940 T cuinferBiasGeluI8II8O +0000000002f218f0 T cuinferBiasResidualLn +0000000002f0a4b0 T cuinferCTCLoss +0000000002ef9db0 T cuinferConcatenate +0000000002f03060 T cuinferConvolutionForward +0000000002ef2750 T cuinferCorrelationSoftmaxEncselfI32II8O +0000000002ef2770 T cuinferCorrelationSoftmaxEncselfI8II8O +0000000002f10870 T cuinferCreate +0000000002ef3050 T cuinferCreateActivationDescriptor +0000000002f092e0 T cuinferCreateCTCLossDescriptor +0000000002efab70 T cuinferCreateConvolutionDescriptor +0000000002f0c010 T cuinferCreateDropoutDescriptor +0000000002f0d180 T cuinferCreateFilterDescriptor +0000000002f0e9d0 T cuinferCreateLRNDescriptor +0000000002f15660 T cuinferCreatePersistentRNNPlan +0000000002f11290 T cuinferCreatePoolingDescriptor +0000000002f15430 T cuinferCreateRNNDescriptor +0000000002f148a0 T cuinferCreateReduceTensorDescriptor +0000000002f1f220 T cuinferCreateTensorDescriptor +0000000002f251b0 T cuinferCropAndResize +0000000002f21c60 T cuinferCustomGemm +0000000002f229b0 T cuinferCustomGemmEx +0000000002f1dcd0 T cuinferDeQuantSoftmaxForwardQuant +0000000002ef5a20 T cuinferDeriveBNTensorDescriptor +0000000002f10aa0 T cuinferDestroy +0000000002ef37c0 T cuinferDestroyActivationDescriptor +0000000002f0a050 T cuinferDestroyCTCLossDescriptor +0000000002efc170 T cuinferDestroyConvolutionDescriptor +0000000002f0c240 T cuinferDestroyDropoutDescriptor +0000000002f0e1a0 T cuinferDestroyFilterDescriptor +0000000002f0f4b0 T cuinferDestroyLRNDescriptor +0000000002f15a70 T cuinferDestroyPersistentRNNPlan +0000000002f12e30 T cuinferDestroyPoolingDescriptor +0000000002f15640 T cuinferDestroyRNNDescriptor +0000000002f20c20 T cuinferDestroyTensorDescriptor +0000000002f0cab0 T cuinferDropoutForward +0000000002f0c290 T cuinferDropoutGetReserveSpaceSize +0000000002f0c270 T cuinferDropoutGetStatesSize +0000000002ef2600 T cuinferEncEmbI8I +0000000002ef2670 T cuinferEncEmbI8I_M8I +0000000002f25420 T cuinferFMHAForward +0000000002f25c60 T cuinferFMHAForwardEx +0000000002effd40 T cuinferFindConvolutionForwardAlgorithm +0000000002f02630 T cuinferFindConvolutionForwardAlgorithmEx +0000000002f018b0 T cuinferFindConvolutionForwardAlgorithmFP16 +0000000002ef28f0 T cuinferFusedMultiHeadAttentionI8 +0000000002f26340 T cuinferGPTFMHAForward +0000000002ef3580 T cuinferGetActivationDescriptor +0000000002ef7f10 T cuinferGetBatchNormalizationForwardTrainingExWorkspaceSize +0000000002ef7d60 T cuinferGetBatchNormalizationTrainingExReserveSpaceSize +0000000002f09c00 T cuinferGetCTCLossDescriptor +0000000002f09e10 T cuinferGetCTCLossDescriptorEx +0000000002f0a080 T cuinferGetCTCLossWorkspaceSize +0000000002efbee0 T cuinferGetConvolution2dDescriptor +0000000002efeec0 T cuinferGetConvolution2dForwardOutputDim +0000000002eff5b0 T cuinferGetConvolutionForwardAlgorithm +0000000002f03f60 T cuinferGetConvolutionForwardAlgorithmMaxCount +0000000002f03dd0 T cuinferGetConvolutionForwardAlgorithm_v7 +0000000002f00700 T cuinferGetConvolutionForwardWorkspaceSize +0000000002f04020 T cuinferGetConvolutionGroupCount +0000000002f04030 T cuinferGetConvolutionMathType +0000000002f04230 T cuinferGetConvolutionNdDescriptor +0000000002f04540 T cuinferGetConvolutionNdForwardOutputDim +0000000002f10f60 T cuinferGetCudartVersion +0000000002f225e0 T cuinferGetCustomGemmExWorkspace +0000000002f0c870 T cuinferGetDropoutDescriptor +0000000002f10ed0 T cuinferGetErrorString +0000000002f0dd90 T cuinferGetFilter4dDescriptor +0000000002f0df40 T cuinferGetFilterNdDescriptor +0000000002f20a20 T cuinferGetFilterSizeInBytes +0000000002f27890 T cuinferGetHammingDistanceWorkspace +0000000002f0f070 T cuinferGetLRNDescriptor +0000000002f28270 T cuinferGetNMSBatchedWorkspaceSize +0000000002f28340 T cuinferGetNMSBatchedYoloFusedWorkspaceSize +0000000002f281a0 T cuinferGetNMSWorkspaceSize +0000000002f11b00 T cuinferGetPooling2dDescriptor +0000000002f12c00 T cuinferGetPooling2dForwardOutputDim +0000000002f12550 T cuinferGetPoolingNdDescriptor +0000000002f12940 T cuinferGetPoolingNdForwardOutputDim +0000000002f10850 T cuinferGetProperty +0000000002f22f30 T cuinferGetQDEConvolutionTransposedWorkspaceSize +0000000002f16870 T cuinferGetRNNDescriptor +0000000002f181e0 T cuinferGetRNNLinLayerBiasParams +0000000002f17b80 T cuinferGetRNNLinLayerMatrixParams +0000000002f16dc0 T cuinferGetRNNMatrixMathType +0000000002f175d0 T cuinferGetRNNParamsSize +0000000002f166f0 T cuinferGetRNNProjectionLayers +0000000002f16fc0 T cuinferGetRNNTrainingReserveSize +0000000002f29dc0 T cuinferGetReduceWorkspace +0000000002f10d70 T cuinferGetStream +0000000002f1fce0 T cuinferGetTensor4dDescriptor +0000000002f20680 T cuinferGetTensorNdDescriptor +0000000002f20810 T cuinferGetTensorSizeInBytes +0000000002f2b5e0 T cuinferGetTopKBatchWorkspace +0000000002f2b370 T cuinferGetTopKWorkspace +0000000002f10f40 T cuinferGetVersion +0000000002f271a0 T cuinferGroupNorm +0000000002f020c0 T cuinferHalfConvolution2dForward +0000000002f279d0 T cuinferHammingDistance +0000000002efec30 T cuinferIm2Col +0000000002f27b60 T cuinferInstanceNorm +0000000002f0f210 T cuinferLRNCrossChannelForward +0000000002f10490 T cuinferLSTMForwardInference +0000000002f27db0 T cuinferLayerNorm +0000000002ef2c60 T cuinferLayernormResidualI8OFO +0000000002ef26e0 T cuinferLayernormResualI8O +0000000002f280f0 T cuinferNMS +0000000002f281c0 T cuinferNMSBatched +0000000002f28290 T cuinferNMSBatchedYoloFused +0000000002f12e60 T cuinferPoolingForward +0000000002f050c0 T cuinferQConvolutionForward +0000000002f04ca0 T cuinferQDConvolutionForward +0000000002f01540 T cuinferQDEConvolutionForward +0000000002f23790 T cuinferQDEConvolutionTranspose +0000000002f18840 T cuinferRNNForwardInference +0000000002f19be0 T cuinferRNNForwardTraining +0000000002f2a840 T cuinferReduce +0000000002f14760 T cuinferReduceTensor +0000000002ef27e0 T cuinferResidualBiasLnI8II8O +0000000002ef2830 T cuinferResidualBiasLnI8II8OF +0000000002ef2c30 T cuinferResidualBiaslnI32I +0000000002ef2aa0 T cuinferResidualBiaslnI32II8O +0000000002ef27c0 T cuinferResidualBiaslnI8I +0000000002f15190 T cuinferResize2D +0000000002f0c6b0 T cuinferRestoreDropoutDescriptor +0000000002ef32a0 T cuinferSetActivationDescriptor +0000000002f09530 T cuinferSetCTCLossDescriptor +0000000002f097f0 T cuinferSetCTCLossDescriptorEx +0000000002efad00 T cuinferSetConvolution2dDescriptor +0000000002efb3e0 T cuinferSetConvolutionGroupCount +0000000002efb690 T cuinferSetConvolutionMathType +0000000002efb900 T cuinferSetConvolutionNdDescriptor +0000000002f0c4f0 T cuinferSetDropoutDescriptor +0000000002f0d3b0 T cuinferSetFilter4dDescriptor +0000000002f0d920 T cuinferSetFilterNdDescriptor +0000000002f0ec10 T cuinferSetLRNDescriptor +0000000002f158c0 T cuinferSetPersistentRNNPlan +0000000002f114c0 T cuinferSetPooling2dDescriptor +0000000002f11e10 T cuinferSetPoolingNdDescriptor +0000000002f15a90 T cuinferSetRNNDescriptor +0000000002f16b10 T cuinferSetRNNMatrixMathType +0000000002f163a0 T cuinferSetRNNProjectionLayers +0000000002f14ae0 T cuinferSetReduceTensorDescriptor +0000000002f10c10 T cuinferSetStream +0000000002f1f410 T cuinferSetTensor4dDescriptor +0000000002f1f980 T cuinferSetTensor4dDescriptorEx +0000000002f1ff70 T cuinferSetTensorNdDescriptor +0000000002f20260 T cuinferSetTensorNdDescriptorEx +0000000002f1d760 T cuinferSoftmaxForward +0000000002f1ef60 T cuinferSplitForward +0000000002f2b450 T cuinferTopK +0000000002f2b650 T cuinferTopKBatch +0000000002f20c50 T cuinferTransformTensor +0000000002f2b7d0 T cuinferTranspose +0000000002ef2870 T cuinferViterbiDecode +0000000002f2b9e0 T cuinferYoloV5Detect From 03be5f2b152ba222e153f79bb118049c7d3c9b3b Mon Sep 17 00:00:00 2001 From: root Date: Mon, 17 Aug 2026 02:16:58 +0000 Subject: [PATCH 2/2] [feat] group gemm --- Dockerfile | 8 +- build_moe_bridge.sh | 156 ++++++++ computility-run.yaml | 4 +- ex_engine/csrc/ix_full_bridge_v2.cpp | 357 ++++++++---------- ex_engine/csrc/moe_ops_impl.cu | 502 +++++++++++++++++++++++++ ex_engine/python/moe_dispatch.py | 172 +++++++++ ex_engine/python/patch_moe_hot_path.py | 109 ++++++ qwen3_6_scripts/patch_ops.sh | 19 +- test_moe_bridge.py | 186 +++++++++ 9 files changed, 1299 insertions(+), 214 deletions(-) create mode 100644 build_moe_bridge.sh create mode 100644 ex_engine/csrc/moe_ops_impl.cu create mode 100644 ex_engine/python/moe_dispatch.py create mode 100644 ex_engine/python/patch_moe_hot_path.py create mode 100644 test_moe_bridge.py diff --git a/Dockerfile b/Dockerfile index faa0a98a..bc2b17e7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,13 @@ WORKDIR /workspace/ # Copy all our engine patches COPY ./qwen3_6_scripts /workspace/qwen3_6_scripts COPY ./computility-run.yaml /workspace/computility-run.yaml +# Copy ex_engine source for MoE bridge compilation +COPY ./ex_engine/csrc/moe_ops_impl.cu /workspace/qwen3_6_scripts/ex_engine_src/csrc/moe_ops_impl.cu +COPY ./ex_engine/csrc/ix_full_bridge_v2.cpp /workspace/qwen3_6_scripts/ex_engine_src/csrc/ix_full_bridge_v2.cpp +COPY ./ex_engine/build_moe_bridge.sh /workspace/qwen3_6_scripts/ex_engine_src/build_moe_bridge.sh +COPY ./ex_engine/python/moe_dispatch.py /workspace/qwen3_6_scripts/ex_engine_src/python/moe_dispatch.py +COPY ./ex_engine/python/patch_moe_hot_path.py /workspace/qwen3_6_scripts/ex_engine_src/python/patch_moe_hot_path.py # Make patch script executable and run it RUN chmod +x /workspace/qwen3_6_scripts/patch_ops.sh && \ bash /workspace/qwen3_6_scripts/patch_ops.sh 2>&1 | tee /workspace/patch_ops.log ; \ - echo "[Dockerfile] patch_ops exit code: $?" + echo "[Dockerfile] patch_ops exit code: $?" \ No newline at end of file diff --git a/build_moe_bridge.sh b/build_moe_bridge.sh new file mode 100644 index 00000000..32ff7ef5 --- /dev/null +++ b/build_moe_bridge.sh @@ -0,0 +1,156 @@ +#!/usr/bin/env bash +# build_moe_bridge.sh — Compile MoE ops + bridge into ix_moe_bridge.so +# +# Links against: +# libcuinfer.so (cuinferCustomGemm, cuinferTopK — confirmed in symbol dump) +# libixformer.so (silu_and_mul, rms_norm, flash_attn, etc — confirmed) +# +# Real device compiler: corex clang/16, NOT nvcc +# Reference: ex_engine/build_ix_bridge.sh + +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +REPO_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)" +VLLM_ROOT="${1:-}" + +echo "[moe_bridge] Building ix_moe_bridge.so" +echo "[moe_bridge] Script dir: ${SCRIPT_DIR}" + +# --- Locate sources --- +MOE_CU="${SCRIPT_DIR}/ex_engine/csrc/moe_ops_impl.cu" +BRIDGE_CPP="${SCRIPT_DIR}/ex_engine/csrc/ix_full_bridge_v2.cpp" + +if [[ ! -f "$MOE_CU" ]]; then + echo "[moe_bridge] ERROR: $MOE_CU not found" >&2 + exit 1 +fi +if [[ ! -f "$BRIDGE_CPP" ]]; then + echo "[moe_bridge] ERROR: $BRIDGE_CPP not found" >&2 + exit 1 +fi + +# --- Locate libraries --- +COREX_ROOT="${COREX_ROOT:-/usr/local/corex}" + +# Find libcuinfer.so +CUINFER_SO="" +for d in "${COREX_ROOT}/lib64" "${COREX_ROOT}/lib" "/usr/lib64" "/usr/lib"; do + if [[ -f "${d}/libcuinfer.so" ]]; then + CUINFER_SO="${d}/libcuinfer.so" + break + fi +done + +# Find libixformer.so and ixformer Python package +IX_LIB_DIR="" +IX_SO_FILES=() +for d in \ + "${COREX_ROOT}/lib/python3/dist-packages/ixformer" \ + "${COREX_ROOT}/lib64/python3/dist-packages/ixformer" \ + "$(python3 -c 'import ixformer, os; print(os.path.dirname(ixformer.__file__))' 2>/dev/null || echo '')"; do + if [[ -d "$d" ]]; then + IX_LIB_DIR="$d" + while IFS= read -r so; do + IX_SO_FILES+=("$so") + done < <(find "$d" -name "*.so" -type f 2>/dev/null) + break + fi +done + +echo "[moe_bridge] COREX_ROOT: ${COREX_ROOT}" +echo "[moe_bridge] cuinfer: ${CUINFER_SO:-NOT FOUND}" +echo "[moe_bridge] ixformer dir: ${IX_LIB_DIR:-NOT FOUND}" +echo "[moe_bridge] ixformer .so count: ${#IX_SO_FILES[@]}" + +# --- Build via torch.utils.cpp_extension --- +mkdir -p "${SCRIPT_DIR}/prebuilt" + +python3 << 'PYEOF' +import os, sys, glob, shutil + +script_dir = os.environ.get("SCRIPT_DIR", ".") +vllm_root = os.environ.get("VLLM_ROOT", "") + +moe_cu = os.path.join(script_dir, "ex_engine", "csrc", "moe_ops_impl.cu") +bridge_cpp = os.path.join(script_dir, "ex_engine", "csrc", "ix_full_bridge_v2.cpp") + +# Collect linker flags +extra_ldflags = [] +rpath_dirs = set() + +corex_root = os.environ.get("COREX_ROOT", "/usr/local/corex") +for search_dir in [ + os.path.join(corex_root, "lib64"), + os.path.join(corex_root, "lib"), +]: + if os.path.isdir(search_dir): + rpath_dirs.add(search_dir) + for so in glob.glob(os.path.join(search_dir, "libcuinfer*.so*")): + extra_ldflags.append(so) + +# ixformer .so files +try: + import ixformer + ix_dir = os.path.dirname(ixformer.__file__) + rpath_dirs.add(ix_dir) + for so in glob.glob(os.path.join(ix_dir, "*.so")): + extra_ldflags.append(so) + for so in glob.glob(os.path.join(ix_dir, "lib*.so")): + if so not in extra_ldflags: + extra_ldflags.append(so) +except ImportError: + # Search common paths + for d in [ + os.path.join(corex_root, "lib", "python3", "dist-packages", "ixformer"), + os.path.join(corex_root, "lib64", "python3", "dist-packages", "ixformer"), + ]: + if os.path.isdir(d): + rpath_dirs.add(d) + for so in glob.glob(os.path.join(d, "*.so")): + extra_ldflags.append(so) + +for d in rpath_dirs: + extra_ldflags.append(f"-Wl,-rpath,{d}") + +print(f"[moe_bridge] Linking against {len(extra_ldflags)} items") +for f in extra_ldflags[:10]: + print(f" {f}") + +try: + from torch.utils.cpp_extension import load + + mod = load( + name="ix_moe_bridge", + sources=[moe_cu, bridge_cpp], + extra_include_paths=[os.path.join(script_dir, "csrc")], + extra_cflags=["-O2", "-std=c++17"], + extra_cuda_cflags=["-O2", ], + extra_ldflags=extra_ldflags, + verbose=True, + ) + print("[moe_bridge] ✓ Compilation successful") + + # Find and copy the built .so + import importlib + spec = importlib.util.find_spec("ix_moe_bridge") + if spec and spec.origin: + dst = os.path.join(script_dir, "prebuilt", "ix_moe_bridge.so") + shutil.copy2(spec.origin, dst) + print(f"[moe_bridge] ✓ Saved to {dst}") + + if vllm_root: + vllm_dst = os.path.join(vllm_root, "ex_engine", "ix_moe_bridge.so") + os.makedirs(os.path.dirname(vllm_dst), exist_ok=True) + shutil.copy2(spec.origin, vllm_dst) + print(f"[moe_bridge] ✓ Deployed to {vllm_dst}") + else: + print("[moe_bridge] ⚠ Could not locate compiled .so via importlib") + +except Exception as e: + print(f"[moe_bridge] ERROR: {e}", file=sys.stderr) + import traceback; traceback.print_exc() + sys.exit(1) +PYEOF + +echo "[moe_bridge] Done" \ No newline at end of file diff --git a/computility-run.yaml b/computility-run.yaml index 2e09be09..5f94d0a5 100644 --- a/computility-run.yaml +++ b/computility-run.yaml @@ -15,7 +15,7 @@ command: - -tp - '4' - --max-num-seqs - - '1' + - '2' - --disable-log-requests - --disable-frontend-multiprocessing - --max-num-batched-tokens @@ -46,4 +46,4 @@ env: - name: BI100_GDN_RESTORE_MODE value: hybrid64 - name: BI100_MOE_COREX_TOPK_SOFTMAX - value: '1' + value: '1' \ No newline at end of file diff --git a/ex_engine/csrc/ix_full_bridge_v2.cpp b/ex_engine/csrc/ix_full_bridge_v2.cpp index f5396150..d81cef68 100644 --- a/ex_engine/csrc/ix_full_bridge_v2.cpp +++ b/ex_engine/csrc/ix_full_bridge_v2.cpp @@ -1,21 +1,24 @@ -// ix_full_bridge_v2.cpp — Complete bridge to ALL ixformer::infer C++ functions +// ix_full_bridge_v2.cpp — Bridge to ixformer C++ functions + MoE pipeline // -// Base image has ixformer::infer namespace with 14 functions. -// Previous ix_full_bridge.cpp only bridged 4 (silu_and_mul, rms_norm, -// fused_add_rms_norm, linear). This file bridges ALL 14. +// Forward declarations use REAL symbols from nm -D symbol dumps: +// _ixformer_torch.so → namespace ixformer_torch_ext (7 functions) +// moe_ops_impl.cu → namespace ixformer::infer (5 MoE functions, self-compiled) // -// The base image's _ixformer_torch.cpython-310.so and libixformer.so -// export these symbols in the ixformer::infer namespace (confirmed by nm -D). +// Symbol dump verified: +// ixformer_torch_ext::silu_and_mul_forward(at::Tensor&, at::Tensor&) +// ixformer_torch_ext::rms_norm_forward(at::Tensor&, at::Tensor&, at::Tensor&, double) +// ixformer_torch_ext::fused_add_rms_norm_forward(at::Tensor&, at::Tensor&, at::Tensor&, double, double) +// ixformer_torch_ext::ixformer_linear(at::Tensor&, at::Tensor&, c10::optional, c10::optional) +// ixformer_torch_ext::ixformer_linear_ex(at::Tensor&, at::Tensor&, c10::optional) +// ixformer_torch_ext::vllm_rotary_embedding_neox(at::Tensor&, at::Tensor&, at::Tensor&, long, at::Tensor&, long, bool) +// ixformer_torch_ext::vllm_cache_ops_reshape_and_cache(at::Tensor&, at::Tensor&, at::Tensor&, at::Tensor&, at::Tensor&, long, long) +// ixformer_torch_ext::vllm_single_query_cached_kv_attention(13 params — see below) // -// Compile: -// torch.utils.cpp_extension.load( -// name="ix_full_bridge_v2", -// sources=["ix_full_bridge_v2.cpp"], -// extra_ldflags=[, "-Wl,-rpath,..."], -// extra_cflags=["-O2", "-std=c++17"], -// ) -// -// Upstream reference: xllm_latest/core/kernels/ilu/ixformer.h +// NOT available in any .so (confirmed by nm -D on all 4 .so files): +// ixinfer_flash_attn_unpad_with_block_tables — DOES NOT EXIST +// xllm_paged_attention — DOES NOT EXIST +// topk_softmax, moe_w16a16_group_gemm, etc — NOT in libixformer.so +// (provided by moe_ops_impl.cu instead) #include #include @@ -24,103 +27,67 @@ #include // ============================================================================ -// Forward declarations — ixformer::infer namespace from base image .so -// Signatures EXACTLY match upstream_ref/xllm_latest/core/kernels/ilu/ixformer.h +// Forward declarations — ixformer_torch_ext namespace from _ixformer_torch.so +// Signatures EXACTLY match nm -D | c++filt output +// ============================================================================ +namespace ixformer_torch_ext { + +// silu_and_mul_forward(at::Tensor&, at::Tensor&) +void silu_and_mul_forward(at::Tensor& input, at::Tensor& output); + +// rms_norm_forward(at::Tensor&, at::Tensor&, at::Tensor&, double) +void rms_norm_forward(at::Tensor& output, at::Tensor& input, + at::Tensor& weight, double eps); + +// fused_add_rms_norm_forward(at::Tensor&, at::Tensor&, at::Tensor&, double, double) +void fused_add_rms_norm_forward(at::Tensor& input, at::Tensor& residual, + at::Tensor& weight, double eps, double alpha); + +// ixformer_linear(at::Tensor&, at::Tensor&, c10::optional const&, c10::optional const&) +at::Tensor ixformer_linear(at::Tensor& input, at::Tensor& weight, + c10::optional const& bias, + c10::optional const& out); + +// ixformer_linear_ex(at::Tensor&, at::Tensor&, c10::optional const&) +at::Tensor ixformer_linear_ex(at::Tensor& input, at::Tensor& weight, + c10::optional const& bias); + +// vllm_rotary_embedding_neox(at::Tensor&, at::Tensor&, at::Tensor&, long, at::Tensor&, long, bool) +void vllm_rotary_embedding_neox(at::Tensor& positions, at::Tensor& query, + at::Tensor& key, int64_t head_size, + at::Tensor& cos_sin_cache, + int64_t max_position, bool is_neox); + +// vllm_cache_ops_reshape_and_cache(at::Tensor&, at::Tensor&, at::Tensor&, at::Tensor&, at::Tensor&, long, long) +void vllm_cache_ops_reshape_and_cache(at::Tensor& key, at::Tensor& value, + at::Tensor& key_cache, + at::Tensor& value_cache, + at::Tensor& slot_mapping, + int64_t key_token_stride, + int64_t value_token_stride); + +// vllm_single_query_cached_kv_attention(at::Tensor& x13) +// Full signature from nm -D: +// (at::Tensor&, at::Tensor&, at::Tensor&, at::Tensor&, at::Tensor&, +// double, at::Tensor&, at::Tensor&, long, long, long, bool, +// c10::optional const&) +void vllm_single_query_cached_kv_attention( + at::Tensor& output, at::Tensor& query, + at::Tensor& key_cache, at::Tensor& value_cache, + at::Tensor& head_mapping, double scale, + at::Tensor& block_tables, at::Tensor& context_lens, + int64_t block_size, int64_t max_context_len, int64_t num_kv_heads, + bool is_neox, + c10::optional const& alibi_slopes); + +} // namespace ixformer_torch_ext + +// ============================================================================ +// Forward declarations — ixformer::infer namespace from moe_ops_impl.cu +// These 5 MoE functions are compiled from our own CUDA code, NOT from .so // ============================================================================ namespace ixformer { namespace infer { -// --- Attention --- -torch::Tensor ixinfer_flash_attn_unpad_with_block_tables( - torch::Tensor& query, - torch::Tensor& key_cache, - torch::Tensor& value_cache, - torch::Tensor& out, - torch::Tensor& block_tables, - torch::Tensor& cu_seq_q, - torch::Tensor& cu_seq_k, - int64_t max_seq_q, - int64_t max_seq_k, - bool is_causal, - int64_t window_left, - int64_t window_right, - double scale, - double softcap, - bool sqrt_alibi, - const std::optional& alibi_slopes, - const std::optional& sinks, - std::optional& lse); - -torch::Tensor xllm_paged_attention( - torch::Tensor& out, - torch::Tensor& query, - torch::Tensor& key_cache, - torch::Tensor& value_cache, - int64_t num_kv_heads, - double scale, - torch::Tensor& block_tables, - torch::Tensor& context_lens, - int64_t block_size, - int64_t max_context_len, - const std::optional& alibi_slopes, - bool causal, - int32_t window_left, - int32_t window_right, - double softcap, - bool enable_cuda_graph, - bool use_sqrt_alibi, - const std::optional& sinks); - -// --- Activation --- -void silu_and_mul(torch::Tensor& input, torch::Tensor& output); - -// --- Linear --- -torch::Tensor ixformer_linear(torch::Tensor& input, - torch::Tensor& weight, - int64_t act_type, - const std::optional& bias, - const std::optional& out, - const std::optional persistent); - -torch::Tensor ixformer_linear_ex(torch::Tensor& input, - torch::Tensor& weight, - const c10::optional& bias, - const c10::optional& out); - -// --- Cache --- -void xllm_reshape_and_cache(torch::Tensor& key, - torch::Tensor& value, - torch::Tensor& key_cache, - torch::Tensor& value_cache, - torch::Tensor& slot_mapping, - int64_t key_token_stride, - int64_t value_token_stride); - -// --- RoPE --- -void xllm_rotary_embedding(torch::Tensor& positions, - torch::Tensor& query, - torch::Tensor& key, - int64_t head_size, - torch::Tensor& cos_sin_cache, - bool is_neox); - -// --- Norm --- -void residual_rms_norm(torch::Tensor& input, - torch::Tensor& residual, - torch::Tensor& weight, - torch::Tensor& output, - torch::Tensor& residual_output, - const std::optional& fused_bias, - double alpha, - double eps, - bool is_post); - -void rms_norm(torch::Tensor& input, - torch::Tensor& weight, - torch::Tensor& output, - const std::optional& fused_bias, - double eps); - -// --- MoE --- void topk_softmax(torch::Tensor& topk_weights, torch::Tensor& topk_indices, torch::Tensor& token_expert_indices, @@ -132,9 +99,9 @@ void moe_compute_token_index_api( torch::Tensor& src_dst, torch::Tensor& dst_src, torch::Tensor& expert_sizes_gpu, - const c10::optional& expert_mask, - const c10::optional& expert_sizes_cpu, - const c10::optional& expand_tokens_gpu, + const std::optional& expert_mask, + const std::optional& expert_sizes_cpu, + const std::optional& expand_tokens_gpu, int64_t start_expert_id, int64_t end_expert_id, int64_t num_experts); @@ -142,7 +109,7 @@ void moe_compute_token_index_api( void moe_expand_input(torch::Tensor outputs, torch::Tensor inputs, torch::Tensor dst_to_src, - const c10::optional& src_to_dst, + const std::optional& src_to_dst, int64_t dst_tokens, int64_t expand_factor); @@ -150,52 +117,45 @@ void moe_w16a16_group_gemm(torch::Tensor output, torch::Tensor inputs, torch::Tensor weights, torch::Tensor tokens_per_experts, - const c10::optional& dst_to_src, - const c10::optional& bias, + const std::optional& dst_to_src, + const std::optional& bias, std::string format, int64_t persistent, int64_t output_n); void moe_output_reduce_sum(torch::Tensor outputs, torch::Tensor inputs, - const c10::optional& mul_weight, - const c10::optional& mask, - const c10::optional& extra_residual, + const std::optional& mul_weight, + const std::optional& mask, + const std::optional& extra_residual, double scaling_factor); }} // namespace ixformer::infer // ============================================================================ -// Python wrappers — thin wrappers that match ix_bridge.py's expected API +// Python wrappers — thin wrappers matching ix_bridge.py's expected API // ============================================================================ // --- silu_and_mul --- torch::Tensor ix_silu_and_mul(torch::Tensor input) { int64_t half_dim = input.size(-1) / 2; auto output = input.new_empty({input.size(0), half_dim}); - ixformer::infer::silu_and_mul(input, output); + ixformer_torch_ext::silu_and_mul_forward(input, output); return output; } // --- rms_norm --- void ix_rms_norm(torch::Tensor output, torch::Tensor input, torch::Tensor weight, double eps) { - ixformer::infer::rms_norm(input, weight, output, - /*fused_bias=*/std::nullopt, eps); + ixformer_torch_ext::rms_norm_forward(output, input, weight, eps); } // --- fused_add_rms_norm --- -// residual_rms_norm does: output = rms_norm(input + alpha*residual, weight, eps) -// residual_output = input + alpha*residual void ix_fused_add_rms_norm(torch::Tensor input, torch::Tensor residual, - torch::Tensor weight, torch::Tensor output, - torch::Tensor residual_output, double eps) { - ixformer::infer::residual_rms_norm(input, residual, weight, - output, residual_output, - /*fused_bias=*/std::nullopt, - /*alpha=*/1.0, eps, - /*is_post=*/false); + torch::Tensor weight, double eps) { + ixformer_torch_ext::fused_add_rms_norm_forward( + input, residual, weight, eps, /*alpha=*/1.0); } // --- linear --- @@ -204,74 +164,56 @@ torch::Tensor ix_linear(torch::Tensor input, torch::Tensor weight, auto input_2d = input.view({-1, input.size(-1)}); int64_t m = input_2d.size(0); if (m <= 1 && !bias.has_value()) { - return ixformer::infer::ixformer_linear_ex( - input, weight, bias, /*out=*/c10::optional()); + return ixformer_torch_ext::ixformer_linear_ex(input, weight, bias); } - return ixformer::infer::ixformer_linear( - input, weight, /*act_type=*/0, bias, - /*out=*/std::nullopt, /*persistent=*/std::nullopt); + return ixformer_torch_ext::ixformer_linear( + input, weight, bias, /*out=*/c10::optional()); } // --- rotary_embedding --- void ix_rotary_embedding(torch::Tensor positions, torch::Tensor query, torch::Tensor key, int64_t head_size, torch::Tensor cos_sin_cache, bool is_neox) { - ixformer::infer::xllm_rotary_embedding( - positions, query, key, head_size, cos_sin_cache, is_neox); + int64_t max_position = cos_sin_cache.size(0); + ixformer_torch_ext::vllm_rotary_embedding_neox( + positions, query, key, head_size, cos_sin_cache, max_position, is_neox); } // --- reshape_and_cache --- void ix_reshape_and_cache(torch::Tensor key, torch::Tensor value, torch::Tensor key_cache, torch::Tensor value_cache, torch::Tensor slot_mapping) { - // token stride = product of dims after dim 0 for key/value - // key shape: [num_tokens, num_heads, head_dim] int64_t key_token_stride = 1; for (int i = 1; i < key.dim(); i++) key_token_stride *= key.size(i); int64_t value_token_stride = 1; for (int i = 1; i < value.dim(); i++) value_token_stride *= value.size(i); - ixformer::infer::xllm_reshape_and_cache( + ixformer_torch_ext::vllm_cache_ops_reshape_and_cache( key, value, key_cache, value_cache, slot_mapping, key_token_stride, value_token_stride); } -// --- paged_attention (decode) --- -torch::Tensor ix_paged_attention( +// --- paged_attention (decode only — no prefill available in .so) --- +void ix_paged_attention( torch::Tensor output, torch::Tensor query, torch::Tensor key_cache, torch::Tensor value_cache, - int64_t num_kv_heads, double scale, + torch::Tensor head_mapping, double scale, torch::Tensor block_tables, torch::Tensor context_lens, - int64_t block_size, int64_t max_context_len, + int64_t block_size, int64_t max_context_len, int64_t num_kv_heads, const c10::optional& alibi_slopes) { - return ixformer::infer::xllm_paged_attention( + ixformer_torch_ext::vllm_single_query_cached_kv_attention( output, query, key_cache, value_cache, - num_kv_heads, scale, block_tables, context_lens, - block_size, max_context_len, alibi_slopes, - /*causal=*/true, /*window_left=*/-1, /*window_right=*/-1, - /*softcap=*/0.0, /*enable_cuda_graph=*/false, - /*use_sqrt_alibi=*/false, /*sinks=*/std::nullopt); + head_mapping, scale, block_tables, context_lens, + block_size, max_context_len, num_kv_heads, + /*is_neox=*/true, alibi_slopes); } -// --- flash_attn_prefill --- -torch::Tensor ix_flash_attn_prefill( - torch::Tensor query, torch::Tensor key_cache, torch::Tensor value_cache, - torch::Tensor output, torch::Tensor block_tables, - torch::Tensor cu_seq_q, torch::Tensor cu_seq_k, - int64_t max_query_len, int64_t max_seq_len, - double scale, bool is_causal, - int64_t window_left, int64_t window_right) { - std::optional lse = std::nullopt; - return ixformer::infer::ixinfer_flash_attn_unpad_with_block_tables( - query, key_cache, value_cache, output, block_tables, - cu_seq_q, cu_seq_k, max_query_len, max_seq_len, - is_causal, window_left, window_right, scale, - /*softcap=*/0.0, /*sqrt_alibi=*/false, - /*alibi_slopes=*/std::nullopt, /*sinks=*/std::nullopt, lse); -} -// --- MoE: topk_softmax --- -// Returns (topk_weights, topk_ids, token_expert_indices) +// ============================================================================ +// MoE wrappers — call moe_ops_impl.cu implementations +// ============================================================================ + +// --- topk_softmax --- std::tuple ix_topk_softmax(torch::Tensor gating_output, int64_t topk, bool renormalize) { int64_t num_tokens = gating_output.size(0); @@ -289,8 +231,7 @@ ix_topk_softmax(torch::Tensor gating_output, int64_t topk, bool renormalize) { return std::make_tuple(topk_weights, topk_ids, token_expert_indices); } -// --- MoE: moe_gen_idx --- -// Equivalent to xllm::kernel::ilu::moe_gen_idx +// --- moe_gen_idx --- std::vector ix_moe_gen_idx(torch::Tensor expert_id, int64_t expert_num) { auto src_dst = expert_id.new_empty({expert_id.numel()}); @@ -299,9 +240,9 @@ ix_moe_gen_idx(torch::Tensor expert_id, int64_t expert_num) { ixformer::infer::moe_compute_token_index_api( expert_id, src_dst, dst_src, expert_sizes_gpu, - /*expert_mask=*/c10::nullopt, - /*expert_sizes_cpu=*/c10::nullopt, - /*expand_tokens_gpu=*/c10::nullopt, + /*expert_mask=*/std::nullopt, + /*expert_sizes_cpu=*/std::nullopt, + /*expand_tokens_gpu=*/std::nullopt, /*start_expert_id=*/0, /*end_expert_id=*/expert_num, /*num_experts=*/expert_num); @@ -310,7 +251,7 @@ ix_moe_gen_idx(torch::Tensor expert_id, int64_t expert_num) { return {src_dst, dst_src, expert_sizes_gpu, expert_sizes_cumsum}; } -// --- MoE: moe_expand_input --- +// --- moe_expand_input --- torch::Tensor ix_moe_expand_input(torch::Tensor input, torch::Tensor gather_index, torch::Tensor combine_idx, @@ -322,43 +263,41 @@ torch::Tensor ix_moe_expand_input(torch::Tensor input, return output; } -// --- MoE: group_gemm --- +// --- group_gemm --- torch::Tensor ix_group_gemm(torch::Tensor inputs, torch::Tensor weights, torch::Tensor tokens_per_experts, int64_t output_n) { int64_t total_tokens = inputs.size(0); auto output = inputs.new_empty({total_tokens, output_n}); + int64_t gemm_output_n = tokens_per_experts.sum().item(); ixformer::infer::moe_w16a16_group_gemm( output, inputs, weights, tokens_per_experts, - /*dst_to_src=*/c10::nullopt, - /*bias=*/c10::nullopt, - /*format=*/"default", + /*dst_to_src=*/std::nullopt, + /*bias=*/std::nullopt, + /*format=*/"TN", /*persistent=*/0, - output_n); + gemm_output_n); return output; } -// --- MoE: moe_combine_result --- +// --- moe_combine_result --- torch::Tensor ix_moe_combine_result(torch::Tensor input, torch::Tensor weight) { - // input: [T*topk, H], weight: [T, topk] auto input_3d = input.view({-1, weight.size(1), input.size(1)}); auto output = input.new_empty({input_3d.size(0), input_3d.size(2)}); ixformer::infer::moe_output_reduce_sum( output, input_3d, weight, - /*mask=*/c10::nullopt, - /*extra_residual=*/c10::nullopt, + /*mask=*/std::nullopt, + /*extra_residual=*/std::nullopt, /*scaling_factor=*/1.0); return output; } -// --- MoE: fused_moe_forward (7-step pipeline) --- -// This is the full fused MoE forward: topk → gen_idx → expand → gemm(w13) → -// silu_mul → gemm(w2) → combine +// --- fused_moe_forward (7-step pipeline) --- torch::Tensor ix_fused_moe_forward( torch::Tensor hidden_states, torch::Tensor router_logits, - torch::Tensor w13, // [num_experts, 2*intermediate, hidden] - torch::Tensor w2, // [num_experts, hidden, intermediate] + torch::Tensor w13, + torch::Tensor w2, int64_t topk, int64_t num_experts, bool renormalize) { @@ -383,7 +322,7 @@ torch::Tensor ix_fused_moe_forward( // Step 4: group_gemm (w13: gate_up projection) int64_t intermediate_2x = w13.size(1); - auto gate_up = ix_group_gemm(expanded, w13.view({-1, w13.size(2)}), + auto gate_up = ix_group_gemm(expanded, w13, expert_sizes_gpu, intermediate_2x); // Step 5: silu_and_mul @@ -391,7 +330,7 @@ torch::Tensor ix_fused_moe_forward( // Step 6: group_gemm (w2: down projection) int64_t hidden_size = w2.size(1); - auto down = ix_group_gemm(activated, w2.view({-1, w2.size(2)}), + auto down = ix_group_gemm(activated, w2, expert_sizes_gpu, hidden_size); // Step 7: moe_combine_result @@ -402,50 +341,48 @@ torch::Tensor ix_fused_moe_forward( // ============================================================================ -// Module registration — ALL 14 functions + fused pipeline +// Module registration // ============================================================================ PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { // Activation m.def("silu_and_mul", &ix_silu_and_mul, - "Fused SiLU+mul activation via ixformer::infer"); + "Fused SiLU+mul via ixformer_torch_ext"); // Norm m.def("rms_norm", &ix_rms_norm, - "RMSNorm via ixformer::infer"); + "RMSNorm via ixformer_torch_ext"); m.def("fused_add_rms_norm", &ix_fused_add_rms_norm, - "Residual + RMSNorm via ixformer::infer"); + "Residual + RMSNorm via ixformer_torch_ext"); // Linear m.def("linear", &ix_linear, - "GEMM via ixformer::infer (linear/linear_ex)"); + "GEMM via ixformer_torch_ext"); // RoPE m.def("rotary_embedding", &ix_rotary_embedding, - "Rotary position embedding via ixformer::infer"); + "Rotary embedding via ixformer_torch_ext"); // Cache m.def("reshape_and_cache", &ix_reshape_and_cache, - "KV cache reshape+store via ixformer::infer"); + "KV cache reshape+store via ixformer_torch_ext"); - // Attention + // Attention (decode only) m.def("paged_attention", &ix_paged_attention, - "Paged attention decode via ixformer::infer"); - m.def("flash_attn_prefill", &ix_flash_attn_prefill, - "Flash attention prefill via ixformer::infer"); + "Paged attention decode via ixformer_torch_ext"); - // MoE (individual steps) + // MoE (individual steps — from moe_ops_impl.cu) m.def("topk_softmax", &ix_topk_softmax, - "MoE topk+softmax routing via ixformer::infer"); + "MoE topk+softmax routing"); m.def("moe_gen_idx", &ix_moe_gen_idx, - "MoE compute token index via ixformer::infer"); + "MoE compute token index"); m.def("moe_expand_input", &ix_moe_expand_input, - "MoE expand input for expert dispatch via ixformer::infer"); + "MoE expand input for expert dispatch"); m.def("group_gemm", &ix_group_gemm, - "MoE grouped GEMM via ixformer::infer"); + "MoE grouped GEMM via cuinferCustomGemm"); m.def("moe_combine_result", &ix_moe_combine_result, - "MoE output reduce sum via ixformer::infer"); + "MoE output reduce sum"); // MoE (fused 7-step pipeline) m.def("fused_moe_forward", &ix_fused_moe_forward, - "Complete fused MoE forward (7-step pipeline) via ixformer::infer"); -} + "Complete fused MoE forward (7-step pipeline)"); +} \ No newline at end of file diff --git a/ex_engine/csrc/moe_ops_impl.cu b/ex_engine/csrc/moe_ops_impl.cu new file mode 100644 index 00000000..c3b7cf3f --- /dev/null +++ b/ex_engine/csrc/moe_ops_impl.cu @@ -0,0 +1,502 @@ +// moe_ops_impl.cu — Implement the 5 missing MoE functions +// +// These functions are declared in ixformer.h (from xllm upstream) +// but NOT present in the base image's libixformer.so. +// +// We implement them using available primitives: +// - cuinferCustomGemm (from libcuinfer.so) for group_gemm +// - Pure CUDA kernels for topk_softmax, moe_compute_index, expand, combine +// - ixformer::functions::cuinfer_gemm (from libixformer.so) as fallback +// +// Reference AST chain: +// xllm/core/kernels/ilu/fused_moe.cpp → calls these 5 functions +// xllm/core/kernels/ilu/group_gemm.cpp → calls moe_w16a16_group_gemm +// xllm/core/kernels/ilu/ixformer.h → declares them in ixformer::infer +// +// We provide them in the SAME namespace so ix_full_bridge_v2.cpp links cleanly. + +#include +#include +#include +#include +#include +#include +#include +#include + +// ============================================================================ +// Forward-declare cuinfer C API (from libcuinfer.so, confirmed in symbol dump) +// ============================================================================ +extern "C" { + +typedef struct cuinferContext* cuinferHandle_t; +typedef enum { CUINFER_STATUS_SUCCESS = 0 } cuinferStatus_t; +typedef enum { + CUINFER_OP_TENSOR_OP_N = 0, + CUINFER_OP_TENSOR_OP_T = 1, +} cuinferOperation_t; +typedef enum { + CUINFER_GEMM_DEFAULT = 0, +} cuinferGEMMCustomOption_t; +typedef enum { + CUINFER_POINTER_MODE_HOST = 0, +} cuinferPointerMode_t; + +cuinferStatus_t cuinferCreate(cuinferHandle_t* handle); +cuinferStatus_t cuinferDestroy(cuinferHandle_t handle); +cuinferStatus_t cuinferSetStream(cuinferHandle_t handle, cudaStream_t stream); + +cuinferStatus_t cuinferCustomGemm( + cuinferHandle_t handle, cudaStream_t stream, + cuinferPointerMode_t ptrMode, + cuinferOperation_t transa, cuinferOperation_t transb, + int m, int n, int k, + const void* alpha, + const void* A, cudaDataType_t Atype, int lda, long long int strideA, + const void* B, cudaDataType_t Btype, int ldb, long long int strideB, + const void* beta, + void* C, cudaDataType_t Ctype, int ldc, long long int strideC, + int batchCount, + cudaDataType_t computeType, cudaDataType_t scaleType, + const void* customHostPtr, const void* customDevicePtr, + cuinferGEMMCustomOption_t customOption); + +} // extern "C" + + +// ============================================================================ +// Kernel 1: topk_softmax +// Adapted from moe_topk_softmax_v3.cu (already working, 64-expert specialized) +// ============================================================================ + +// Qwen3.5-27B: 128 routed experts +// Block size = 128 threads (1 thread per expert for ≤128 experts) +static constexpr int MOE_MAX_EXPERTS = 128; +static constexpr int MOE_BLOCK = 128; + +// All reductions use blockDim.x (dynamic block size, power-of-2) +__device__ float smem_reduce_max(float val, float* smem) { + int tid = threadIdx.x; + smem[tid] = val; + __syncthreads(); + for (int s = blockDim.x / 2; s > 0; s >>= 1) { + if (tid < s) smem[tid] = fmaxf(smem[tid], smem[tid + s]); + __syncthreads(); + } + return smem[0]; +} + +__device__ float smem_reduce_sum(float val, float* smem) { + int tid = threadIdx.x; + smem[tid] = val; + __syncthreads(); + for (int s = blockDim.x / 2; s > 0; s >>= 1) { + if (tid < s) smem[tid] += smem[tid + s]; + __syncthreads(); + } + return smem[0]; +} + +__device__ void smem_argmax(float val, int idx, float* s_val, int* s_idx) { + int tid = threadIdx.x; + s_val[tid] = val; + s_idx[tid] = idx; + __syncthreads(); + for (int s = blockDim.x / 2; s > 0; s >>= 1) { + if (tid < s && s_val[tid + s] > s_val[tid]) { + s_val[tid] = s_val[tid + s]; + s_idx[tid] = s_idx[tid + s]; + } + __syncthreads(); + } +} + +__global__ void topk_softmax_kernel( + const float* __restrict__ input, + float* __restrict__ topk_weights, + int32_t* __restrict__ topk_indices, + int32_t* __restrict__ token_expert_indices, + int num_tokens, int num_experts, int topk, bool renormalize +) { + int row = blockIdx.x; + if (row >= num_tokens) return; + int tid = threadIdx.x; + + extern __shared__ char shared_buf[]; + float* smem = (float*)shared_buf; + int* smem_idx = (int*)(smem + blockDim.x); + + // num_experts passed via gridDim.y (encoded), or read from shared + // We use a separate parameter for clarity + float val = (tid < num_experts) ? input[row * num_experts + tid] : -1e30f; + + // Softmax + float row_max = smem_reduce_max(val, smem); + val = (tid < num_experts) ? expf(val - row_max) : 0.0f; + float row_sum = smem_reduce_sum(val, smem); + val *= (1.0f / row_sum); + + float* out_w = topk_weights + row * topk; + int32_t* out_idx = topk_indices + row * topk; + int32_t* out_src = token_expert_indices + row * topk; + + float my_val = val; + float topk_sum = 0.0f; + + for (int ki = 0; ki < topk; ki++) { + smem_argmax(my_val, tid, smem, smem_idx); + float winner_val = smem[0]; + int winner_idx = smem_idx[0]; + __syncthreads(); + + if (tid == 0) { + out_w[ki] = winner_val; + out_idx[ki] = winner_idx; + out_src[ki] = row; + } + topk_sum += winner_val; + if (tid == winner_idx) my_val = -1.0f; + __syncthreads(); + } + + if (renormalize && tid == 0) { + float inv = 1.0f / (topk_sum + 1e-8f); + for (int ki = 0; ki < topk; ki++) + out_w[ki] *= inv; + } +} + + +// ============================================================================ +// Kernel 2: moe_compute_token_index +// Histogram + prefix sum + scatter — from xllm_kernels/cuda/moe_compute_index.cu +// ============================================================================ + +__global__ void histogram_kernel( + const int32_t* __restrict__ expert_ids, + int32_t* __restrict__ expert_sizes, + int num_elements, int num_experts +) { + int idx = blockIdx.x * blockDim.x + threadIdx.x; + if (idx < num_elements) { + int eid = expert_ids[idx]; + if (eid >= 0 && eid < num_experts) { + atomicAdd(&expert_sizes[eid], 1); + } + } +} + +__global__ void place_indices_kernel( + const int32_t* __restrict__ expert_ids, + int32_t* __restrict__ expert_offsets, // will be atomicAdd'd + int32_t* __restrict__ src_dst, + int32_t* __restrict__ dst_src, + int num_elements +) { + int idx = blockIdx.x * blockDim.x + threadIdx.x; + if (idx < num_elements) { + int eid = expert_ids[idx]; + int pos = atomicAdd(&expert_offsets[eid], 1); + src_dst[idx] = pos; // where token idx goes in sorted order + dst_src[pos] = idx; // reverse mapping + } +} + + +// ============================================================================ +// Kernel 3: moe_expand_input +// Gather-based expand: output[i] = input[gather_index[i]] +// ============================================================================ + +template +__global__ void expand_input_kernel( + scalar_t* __restrict__ output, + const scalar_t* __restrict__ input, + const int32_t* __restrict__ dst_to_src, + int num_output_tokens, int hidden_size +) { + int token = blockIdx.x; + if (token >= num_output_tokens) return; + + int src_token = dst_to_src[token]; + const scalar_t* src = input + (int64_t)src_token * hidden_size; + scalar_t* dst = output + (int64_t)token * hidden_size; + + for (int h = threadIdx.x; h < hidden_size; h += blockDim.x) { + dst[h] = src[h]; + } +} + + +// ============================================================================ +// Kernel 4: moe_combine_result (weighted sum of expert outputs) +// output[t] = sum_k( weight[t][k] * gemm2_output[flat_index(t,k)] ) +// ============================================================================ + +template +__global__ void combine_result_kernel( + scalar_t* __restrict__ output, // [N, H] + const scalar_t* __restrict__ input, // [N*topk, H] + const float* __restrict__ weights, // [N, topk] + int num_tokens, int topk, int hidden_size +) { + int token = blockIdx.x; + if (token >= num_tokens) return; + + for (int h = threadIdx.x; h < hidden_size; h += blockDim.x) { + float acc = 0.0f; + for (int k = 0; k < topk; k++) { + int flat = token * topk + k; + float w = weights[token * topk + k]; + acc += w * __half2float(input[flat * hidden_size + h]); + } + output[token * hidden_size + h] = __float2half(acc); + } +} + +// Float specialization +template <> +__global__ void combine_result_kernel( + float* __restrict__ output, + const float* __restrict__ input, + const float* __restrict__ weights, + int num_tokens, int topk, int hidden_size +) { + int token = blockIdx.x; + if (token >= num_tokens) return; + + for (int h = threadIdx.x; h < hidden_size; h += blockDim.x) { + float acc = 0.0f; + for (int k = 0; k < topk; k++) { + int flat = token * topk + k; + float w = weights[token * topk + k]; + acc += w * input[flat * hidden_size + h]; + } + output[token * hidden_size + h] = acc; + } +} + + +// ============================================================================ +// C++ wrapper functions — ixformer::infer namespace +// These provide the MISSING symbols that ix_full_bridge_v2.cpp needs. +// ============================================================================ + +namespace ixformer { namespace infer { + +void topk_softmax( + torch::Tensor& topk_weights, + torch::Tensor& topk_indices, + torch::Tensor& token_expert_indices, + torch::Tensor& gating_output, + bool renormalize +) { + int num_tokens = gating_output.size(0); + int num_experts = gating_output.size(1); + int topk = topk_weights.size(1); + auto stream = c10::cuda::getCurrentCUDAStream(); + + auto input_f32 = gating_output.to(torch::kFloat32).contiguous(); + + // Block size must be >= num_experts, round up to next power of 2 + int block_size = 1; + while (block_size < num_experts) block_size <<= 1; + TORCH_CHECK(block_size <= 1024, "Too many experts for topk kernel: ", num_experts); + + size_t smem_bytes = block_size * (sizeof(float) + sizeof(int)); + topk_softmax_kernel<<>>( + input_f32.data_ptr(), + topk_weights.data_ptr(), + topk_indices.data_ptr(), + token_expert_indices.data_ptr(), + num_tokens, num_experts, topk, renormalize); +} + +void moe_compute_token_index_api( + torch::Tensor& topk_ids, + torch::Tensor& src_dst, + torch::Tensor& dst_src, + torch::Tensor& expert_sizes_gpu, + const std::optional& expert_mask, + const std::optional& expert_sizes_cpu, + const std::optional& expand_tokens_gpu, + int64_t start_expert_id, + int64_t end_expert_id, + int64_t num_experts +) { + auto stream = c10::cuda::getCurrentCUDAStream(); + int num_elements = topk_ids.numel(); + + // Zero expert_sizes + cudaMemsetAsync(expert_sizes_gpu.data_ptr(), 0, + num_experts * sizeof(int32_t), stream); + + // Phase 1: histogram + int blocks1 = (num_elements + 255) / 256; + histogram_kernel<<>>( + topk_ids.data_ptr(), + expert_sizes_gpu.data_ptr(), + num_elements, num_experts); + + // Phase 2: prefix sum for offsets (exclusive scan on GPU) + // Use a separate buffer for offsets, then reset for place_indices + auto expert_offsets = torch::zeros({num_experts}, topk_ids.options().dtype(torch::kInt32)); + // Copy sizes → do exclusive scan on CPU (small: 64 experts) + auto sizes_cpu = expert_sizes_gpu.to(torch::kCPU); + auto offsets_cpu = torch::zeros({num_experts}, torch::dtype(torch::kInt32)); + int32_t* s = sizes_cpu.data_ptr(); + int32_t* o = offsets_cpu.data_ptr(); + int32_t running = 0; + for (int i = 0; i < num_experts; i++) { + o[i] = running; + running += s[i]; + } + expert_offsets = offsets_cpu.to(topk_ids.device()); + + // Phase 3: place indices + int blocks3 = (num_elements + 255) / 256; + place_indices_kernel<<>>( + topk_ids.data_ptr(), + expert_offsets.data_ptr(), + src_dst.data_ptr(), + dst_src.data_ptr(), + num_elements); +} + +void moe_expand_input( + torch::Tensor outputs, + torch::Tensor inputs, + torch::Tensor dst_to_src, + const std::optional& src_to_dst, + int64_t dst_tokens, + int64_t expand_factor +) { + auto stream = c10::cuda::getCurrentCUDAStream(); + int hidden_size = inputs.size(1); + int block = std::min(hidden_size, 256); + + AT_DISPATCH_FLOATING_TYPES_AND_HALF(inputs.scalar_type(), "expand_input", [&] { + expand_input_kernel<<>>( + outputs.data_ptr(), + inputs.data_ptr(), + dst_to_src.data_ptr(), + dst_tokens, hidden_size); + }); +} + +void moe_w16a16_group_gemm( + torch::Tensor output, + torch::Tensor inputs, + torch::Tensor weights, + torch::Tensor tokens_per_experts, + const std::optional& dst_to_src, + const std::optional& bias, + std::string format, + int64_t persistent, + int64_t output_n +) { + // Implementation: loop over experts, call cuinferCustomGemm for each + // weights: [num_experts, N, K] with format "TN" means transB + // For each expert e with count tokens: + // A = inputs[offset:offset+count, :] (count × K, row-major) + // B = weights[e, :, :] (N × K, needs transB) + // C = output[offset:offset+count, :] (count × N, row-major) + // GEMM: C = A × B^T → (count, K) × (K, N) = (count, N) + + auto stream = c10::cuda::getCurrentCUDAStream(); + int num_experts = weights.size(0); + int N = weights.size(1); // output dim + int K = weights.size(2); // input dim + + // Get token counts on CPU + auto counts_cpu = tokens_per_experts.to(torch::kCPU).to(torch::kInt32); + int32_t* counts = counts_cpu.data_ptr(); + + // Create cuinfer handle + cuinferHandle_t handle; + cuinferCreate(&handle); + cuinferSetStream(handle, stream); + + float alpha = 1.0f, beta = 0.0f; + + int offset = 0; + for (int e = 0; e < num_experts; e++) { + int M = counts[e]; + if (M <= 0) continue; + + // A: inputs[offset : offset+M, :] → M × K + // B: weights[e, :, :] → N × K (transposed: compute A × B^T) + // C: output[offset : offset+M, :] → M × N + const void* A_ptr = (const char*)inputs.data_ptr() + + (int64_t)offset * K * inputs.element_size(); + const void* B_ptr = (const char*)weights.data_ptr() + + (int64_t)e * N * K * weights.element_size(); + void* C_ptr = (char*)output.data_ptr() + + (int64_t)offset * N * output.element_size(); + + cudaDataType_t dtype = (inputs.scalar_type() == torch::kFloat16) + ? CUDA_R_16F : CUDA_R_32F; + + // cuinferCustomGemm: row-major convention + // We want C = A × B^T + // In cuinfer (column-major internally): transa=N, transb=T + // M_gemm = M (rows of C), N_gemm = N (cols of C), K_gemm = K + cuinferCustomGemm( + handle, stream, + CUINFER_POINTER_MODE_HOST, + CUINFER_OP_TENSOR_OP_N, // transa = no transpose + CUINFER_OP_TENSOR_OP_T, // transb = transpose (TN format) + M, N, K, + &alpha, + A_ptr, dtype, K, 0, // lda=K for row-major A + B_ptr, dtype, K, 0, // ldb=K for row-major B (will be transposed) + &beta, + C_ptr, dtype, N, 0, // ldc=N for row-major C + 1, // batchCount=1 + CUDA_R_32F, // computeType + CUDA_R_32F, // scaleType + nullptr, nullptr, // custom pointers + CUINFER_GEMM_DEFAULT); + + offset += M; + } + + cuinferDestroy(handle); +} + +void moe_output_reduce_sum( + torch::Tensor outputs, + torch::Tensor inputs, + const std::optional& mul_weight, + const std::optional& mask, + const std::optional& extra_residual, + double scaling_factor +) { + // inputs: [N, topk, H] — expert outputs per token + // mul_weight: [N, topk] — router weights + // outputs: [N, H] — weighted sum + auto stream = c10::cuda::getCurrentCUDAStream(); + int num_tokens = inputs.size(0); + int topk = inputs.size(1); + int hidden_size = inputs.size(2); + int block = std::min(hidden_size, 256); + + // Reshape inputs to [N*topk, H] for the kernel + auto input_flat = inputs.reshape({num_tokens * topk, hidden_size}); + + if (inputs.scalar_type() == torch::kFloat16) { + combine_result_kernel<__half><<>>( + reinterpret_cast<__half*>(outputs.data_ptr()), + reinterpret_cast(input_flat.data_ptr()), + mul_weight.value().data_ptr(), + num_tokens, topk, hidden_size); + } else { + combine_result_kernel<<>>( + outputs.data_ptr(), + input_flat.data_ptr(), + mul_weight.value().data_ptr(), + num_tokens, topk, hidden_size); + } +} + +}} // namespace ixformer::infer diff --git a/ex_engine/python/moe_dispatch.py b/ex_engine/python/moe_dispatch.py new file mode 100644 index 00000000..411dcc6a --- /dev/null +++ b/ex_engine/python/moe_dispatch.py @@ -0,0 +1,172 @@ +"""moe_dispatch.py — Load ix_moe_bridge.so and dispatch MoE forward. + +3-level fallback: + Tier 0: ix_moe_bridge.fused_moe_forward (C++ fused 7-step pipeline) + Tier 1: ix_moe_bridge individual ops (topk + expand + gemm + silu + gemm + combine) + Tier 2: Pure PyTorch fallback (F.linear loop) + +Used by: patch_moe_hot_path.py → replaces Qwen3_5MoE.forward() + +Reference: ex_engine/python/corex_moe.py (237L) +""" +import os +import sys +import logging +import torch +import torch.nn.functional as F + +logger = logging.getLogger("moe_dispatch") + +# --- Load bridge .so --- +_bridge = None +_tier = 2 # default: PyTorch fallback + + +def _try_load_bridge(): + global _bridge, _tier + + # Try 1: prebuilt .so + search_paths = [ + os.path.join(os.path.dirname(__file__), "ix_moe_bridge.so"), + os.path.join(os.path.dirname(__file__), "..", "prebuilt", "ix_moe_bridge.so"), + os.path.join(os.path.dirname(__file__), "..", "ix_moe_bridge.so"), + ] + for p in search_paths: + if os.path.isfile(p): + try: + import importlib.util + spec = importlib.util.spec_from_file_location("ix_moe_bridge", p) + mod = importlib.util.module_from_spec(spec) + spec.loader.exec_module(mod) + _bridge = mod + logger.info(f"[moe_dispatch] ✓ Loaded bridge from {p}") + break + except Exception as e: + logger.warning(f"[moe_dispatch] Failed to load {p}: {e}") + + # Try 2: torch JIT compiled module + if _bridge is None: + try: + import ix_moe_bridge + _bridge = ix_moe_bridge + logger.info("[moe_dispatch] ✓ Loaded bridge via import") + except ImportError: + pass + + if _bridge is None: + logger.warning("[moe_dispatch] Bridge not available, using PyTorch fallback") + _tier = 2 + return + + # Check what functions are available + try: + if hasattr(_bridge, 'fused_moe_forward'): + _tier = 0 + logger.info("[moe_dispatch] Tier 0: fused pipeline available") + elif hasattr(_bridge, 'topk_softmax') and hasattr(_bridge, 'group_gemm'): + _tier = 1 + logger.info("[moe_dispatch] Tier 1: individual ops available") + else: + _tier = 2 + logger.warning("[moe_dispatch] Bridge loaded but missing functions") + except Exception as e: + logger.warning(f"[moe_dispatch] Function check failed: {e}") + _tier = 2 + + +_try_load_bridge() + + +# ============================================================================ +# Tier 2: Pure PyTorch fallback (identical to base vllm behavior) +# ============================================================================ + +def _pytorch_moe_forward(hidden_states, router_logits, w13, w2, + topk, num_experts, renormalize): + """Python fallback: softmax → topk → loop over experts with F.linear.""" + gating = torch.softmax(router_logits.float(), dim=-1) + topk_weights, topk_ids = torch.topk(gating, topk, dim=-1) + if renormalize: + topk_weights = topk_weights / (topk_weights.sum(dim=-1, keepdim=True) + 1e-8) + topk_weights = topk_weights.to(hidden_states.dtype) + + # Per-expert loop + final_output = torch.zeros_like(hidden_states) + for k in range(topk): + expert_ids = topk_ids[:, k] # [T] + weights_k = topk_weights[:, k].unsqueeze(-1) # [T, 1] + for e in range(num_experts): + mask = (expert_ids == e) + if not mask.any(): + continue + expert_input = hidden_states[mask] + # gate_up = expert_input @ w13[e].T → [n, 2*inter] + gate_up = F.linear(expert_input, w13[e]) + inter = gate_up.shape[-1] // 2 + gate = torch.sigmoid(gate_up[:, :inter]) + up = gate_up[:, inter:] + activated = gate * up # SiLU approximated as sigmoid * x (should be silu_and_mul) + # down = activated @ w2[e].T → [n, hidden] + down = F.linear(activated, w2[e]) + final_output[mask] += weights_k[mask] * down + + return final_output + + +# ============================================================================ +# Tier 1: Individual bridge ops +# ============================================================================ + +def _bridge_individual_moe_forward(hidden_states, router_logits, w13, w2, + topk, num_experts, renormalize): + """Use individual bridge ops: topk → gen_idx → expand → gemm → silu → gemm → combine.""" + topk_weights, topk_ids, _ = _bridge.topk_softmax(router_logits, topk, False) + if renormalize: + topk_weights = topk_weights / (topk_weights.sum(dim=-1, keepdim=True) + 1e-8) + + idx_results = _bridge.moe_gen_idx(topk_ids.view(-1).to(torch.int32), num_experts) + src_dst, dst_src, expert_sizes = idx_results[0], idx_results[1], idx_results[2] + + expanded = _bridge.moe_expand_input(hidden_states, src_dst, dst_src, topk) + + gate_up = _bridge.group_gemm(expanded, w13, expert_sizes, w13.size(1)) + activated = _bridge.silu_and_mul(gate_up) + down = _bridge.group_gemm(activated, w2, expert_sizes, w2.size(1)) + output = _bridge.moe_combine_result(down, topk_weights) + + return output + + +# ============================================================================ +# Public API +# ============================================================================ + +def moe_forward(hidden_states, router_logits, w13, w2, + topk, num_experts, renormalize=True): + """Dispatch MoE forward to best available implementation.""" + if _tier == 0: + try: + return _bridge.fused_moe_forward( + hidden_states, router_logits, w13, w2, + topk, num_experts, renormalize) + except Exception as e: + logger.warning(f"[moe_dispatch] Tier 0 failed: {e}, falling to Tier 1") + pass + + if _tier <= 1 and _bridge is not None: + try: + return _bridge_individual_moe_forward( + hidden_states, router_logits, w13, w2, + topk, num_experts, renormalize) + except Exception as e: + logger.warning(f"[moe_dispatch] Tier 1 failed: {e}, falling to Tier 2") + pass + + return _pytorch_moe_forward( + hidden_states, router_logits, w13, w2, + topk, num_experts, renormalize) + + +def get_tier(): + """Return current dispatch tier (0=fused, 1=individual, 2=pytorch).""" + return _tier \ No newline at end of file diff --git a/ex_engine/python/patch_moe_hot_path.py b/ex_engine/python/patch_moe_hot_path.py new file mode 100644 index 00000000..b5e18f7f --- /dev/null +++ b/ex_engine/python/patch_moe_hot_path.py @@ -0,0 +1,109 @@ +"""patch_moe_hot_path.py — Replace Qwen3_5MoE.forward() with bridge dispatch. + +This is the key performance patch: replaces the Python expert-loop MoE +with a single C++ call that does all 7 steps fused. + +Called by: patch_ops.sh during Docker build +Target: vllm.model_executor.models.qwen3_5.Qwen3_5MoE + +Reference: ex_engine/python/patch_vllm_hot_path.py (200L) +""" +import sys +import logging +import torch + +logger = logging.getLogger("patch_moe_hot_path") + + +def apply_moe_patch(): + """Monkey-patch Qwen3_5MoE.forward to use moe_dispatch.""" + try: + from ex_engine.python.moe_dispatch import moe_forward, get_tier + except ImportError: + try: + from moe_dispatch import moe_forward, get_tier + except ImportError: + logger.warning("[moe_patch] moe_dispatch not available, skipping patch") + return False + + tier = get_tier() + logger.info(f"[moe_patch] moe_dispatch tier={tier}") + + # Find the MoE class + moe_cls = None + try: + from vllm.model_executor.models.qwen3_5 import Qwen3_5MoE + moe_cls = Qwen3_5MoE + except ImportError: + pass + + if moe_cls is None: + # Try to find it in sys.modules (may be registered under different name) + for mod_name, mod in sys.modules.items(): + if hasattr(mod, 'Qwen3_5MoE'): + moe_cls = getattr(mod, 'Qwen3_5MoE') + break + + if moe_cls is None: + logger.warning("[moe_patch] Qwen3_5MoE class not found") + return False + + # Save original forward + _original_forward = moe_cls.forward + + def patched_forward(self, hidden_states, *args, **kwargs): + """Patched MoE forward using bridge dispatch.""" + # Get router logits + # In Qwen3_5, the gate + shared_expert_gate are concatenated: + # router_and_shared_gate = self.gate(hidden_states) + # router_logits = router_and_shared_gate[..., :self.num_experts] + # shared_gate = router_and_shared_gate[..., -1] + router_and_shared_gate = self.gate(hidden_states) + router_logits = router_and_shared_gate[..., :self.num_experts] + + # Shared expert (if any) — run in parallel + shared_output = None + if hasattr(self, 'shared_expert') and self.shared_expert is not None: + if hasattr(self, 'shared_expert_gate'): + shared_gate = torch.sigmoid( + router_and_shared_gate[..., -1].unsqueeze(-1)) + else: + shared_gate = None + + # Routed experts via bridge + try: + routed_output = moe_forward( + hidden_states.view(-1, hidden_states.shape[-1]), + router_logits.view(-1, router_logits.shape[-1]), + self.w13_weight if hasattr(self, 'w13_weight') else self.experts.w13_weight, + self.w2_weight if hasattr(self, 'w2_weight') else self.experts.w2_weight, + topk=self.top_k, + num_experts=self.num_experts, + renormalize=True, + ) + routed_output = routed_output.view_as(hidden_states) + except Exception as e: + logger.warning(f"[moe_patch] Bridge failed ({e}), using original forward") + return _original_forward(self, hidden_states, *args, **kwargs) + + # Add shared expert output + if hasattr(self, 'shared_expert') and self.shared_expert is not None: + shared_out = self.shared_expert(hidden_states) + if shared_gate is not None: + shared_out = shared_out * shared_gate + routed_output = routed_output + shared_out + + return routed_output + + # Only patch if we have a real bridge (not pure Python fallback) + if tier < 2: + moe_cls.forward = patched_forward + logger.info(f"[moe_patch] ✓ Patched Qwen3_5MoE.forward (tier={tier})") + return True + else: + logger.info("[moe_patch] Tier 2 (Python only), not patching") + return False + + +if __name__ == "__main__": + apply_moe_patch() \ No newline at end of file diff --git a/qwen3_6_scripts/patch_ops.sh b/qwen3_6_scripts/patch_ops.sh index abac4a57..ac007739 100755 --- a/qwen3_6_scripts/patch_ops.sh +++ b/qwen3_6_scripts/patch_ops.sh @@ -332,6 +332,23 @@ if b"max_completion_tokens" not in installed: raise SystemExit("protocol.py missing max_completion_tokens field") PY +build_stage "building MoE bridge (ix_moe_bridge.so)" +if [[ -f "./ex_engine_src/build_moe_bridge.sh" ]]; then + bash ./ex_engine_src/build_moe_bridge.sh "${VLLM_ROOT}" 2>&1 || { + echo "[WARN] MoE bridge build failed — will use Python fallback" + } +fi + +build_stage "deploying MoE dispatch modules" +EX_DIR="${VLLM_ROOT}/ex_engine/python" +mkdir -p "${EX_DIR}" +for pyfile in moe_dispatch.py patch_moe_hot_path.py; do + if [[ -f "./ex_engine_src/python/${pyfile}" ]]; then + cp "./ex_engine_src/python/${pyfile}" "${EX_DIR}/${pyfile}" + echo " ✓ ${pyfile}" + fi +done + build_stage "compiling submission Python sources" find . -path './wheels' -prune -o -name '*.py' -print0 | xargs -0 python3 -m py_compile @@ -340,4 +357,4 @@ python3 ./verify_dlopen_chain.py --vllm-root "${VLLM_ROOT}" || { echo "[WARN] dlopen chain verification found issues (non-fatal)" } -build_stage "patch script completed" +build_stage "patch script completed" \ No newline at end of file diff --git a/test_moe_bridge.py b/test_moe_bridge.py new file mode 100644 index 00000000..63b2005f --- /dev/null +++ b/test_moe_bridge.py @@ -0,0 +1,186 @@ +"""test_moe_bridge.py — Integration test for ix_moe_bridge on real device. + +Run after build_moe_bridge.sh. No model weights needed — uses random tensors. +Tests each of the 5 MoE functions + the fused pipeline. + +Usage: + python3 test_moe_bridge.py +""" +import sys +import os +import torch +import time + +# Qwen3.5-27B MoE params +NUM_EXPERTS = 128 +TOPK = 8 +HIDDEN_SIZE = 3584 +INTERMEDIATE_SIZE = 18944 # per-partition (full=18944*2 for gate+up, /TP if sharded) +NUM_TOKENS = 4 + +def load_bridge(): + """Try to load ix_moe_bridge.""" + # Try prebuilt + script_dir = os.path.dirname(os.path.abspath(__file__)) + for p in [ + os.path.join(script_dir, "prebuilt", "ix_moe_bridge.so"), + os.path.join(script_dir, "ix_moe_bridge.so"), + ]: + if os.path.isfile(p): + import importlib.util + spec = importlib.util.spec_from_file_location("ix_moe_bridge", p) + mod = importlib.util.module_from_spec(spec) + spec.loader.exec_module(mod) + return mod + + # Try import + import ix_moe_bridge + return ix_moe_bridge + + +def test_topk_softmax(bridge, device): + print("\n--- topk_softmax ---") + gating = torch.randn(NUM_TOKENS, NUM_EXPERTS, device=device, dtype=torch.float32) + topk_w, topk_ids, token_expert_ids = bridge.topk_softmax(gating, TOPK, True) + + assert topk_w.shape == (NUM_TOKENS, TOPK), f"weights shape: {topk_w.shape}" + assert topk_ids.shape == (NUM_TOKENS, TOPK), f"ids shape: {topk_ids.shape}" + assert topk_w.dtype == torch.float32 + assert topk_ids.dtype == torch.int32 + assert (topk_ids >= 0).all() and (topk_ids < NUM_EXPERTS).all(), "ids out of range" + assert torch.allclose(topk_w.sum(-1), torch.ones(NUM_TOKENS, device=device), atol=1e-5), \ + f"weights don't sum to 1: {topk_w.sum(-1)}" + print(f" ✓ shape={topk_w.shape}, sum={topk_w.sum(-1).tolist()}") + print(f" ✓ top expert ids (row 0): {topk_ids[0].tolist()}") + + +def test_moe_gen_idx(bridge, device): + print("\n--- moe_gen_idx ---") + expert_ids = torch.randint(0, NUM_EXPERTS, (NUM_TOKENS * TOPK,), + device=device, dtype=torch.int32) + results = bridge.moe_gen_idx(expert_ids, NUM_EXPERTS) + src_dst, dst_src, expert_sizes, expert_cumsum = results + + assert src_dst.shape == (NUM_TOKENS * TOPK,), f"src_dst shape: {src_dst.shape}" + assert dst_src.shape == (NUM_TOKENS * TOPK,), f"dst_src shape: {dst_src.shape}" + assert expert_sizes.shape[0] == NUM_EXPERTS, f"expert_sizes shape: {expert_sizes.shape}" + assert expert_sizes.sum().item() == NUM_TOKENS * TOPK, \ + f"expert_sizes sum: {expert_sizes.sum().item()} != {NUM_TOKENS * TOPK}" + print(f" ✓ src_dst={src_dst.shape}, expert_sizes sum={expert_sizes.sum().item()}") + + +def test_moe_expand_input(bridge, device): + print("\n--- moe_expand_input ---") + hidden = torch.randn(NUM_TOKENS, HIDDEN_SIZE, device=device, dtype=torch.float16) + # Create simple gather index: [0,1,2,...,NUM_TOKENS*TOPK-1] mod NUM_TOKENS + gather_idx = torch.arange(NUM_TOKENS * TOPK, device=device, dtype=torch.int32) % NUM_TOKENS + combine_idx = torch.arange(NUM_TOKENS * TOPK, device=device, dtype=torch.int32) + + expanded = bridge.moe_expand_input(hidden, gather_idx, combine_idx, TOPK) + assert expanded.shape == (NUM_TOKENS * TOPK, HIDDEN_SIZE), f"shape: {expanded.shape}" + print(f" ✓ shape={expanded.shape}, dtype={expanded.dtype}") + + +def test_group_gemm(bridge, device): + print("\n--- group_gemm ---") + # Simulate: expanded tokens × expert weights + total_tokens = NUM_TOKENS * TOPK # 32 + inputs = torch.randn(total_tokens, HIDDEN_SIZE, device=device, dtype=torch.float16) + # weights: [NUM_EXPERTS, 2*INTERMEDIATE, HIDDEN] — 3D + weights = torch.randn(NUM_EXPERTS, INTERMEDIATE_SIZE * 2, HIDDEN_SIZE, + device=device, dtype=torch.float16) * 0.01 + # tokens_per_expert: distribute evenly + tpe = torch.zeros(NUM_EXPERTS, device=device, dtype=torch.int32) + for i in range(total_tokens): + tpe[i % NUM_EXPERTS] += 1 + + output_n = INTERMEDIATE_SIZE * 2 + result = bridge.group_gemm(inputs, weights, tpe, output_n) + assert result.shape == (total_tokens, output_n), f"shape: {result.shape}" + assert not torch.isnan(result).any(), "NaN in group_gemm output" + print(f" ✓ shape={result.shape}, max={result.abs().max().item():.4f}") + + +def test_silu_and_mul(bridge, device): + print("\n--- silu_and_mul ---") + gate_up = torch.randn(NUM_TOKENS, INTERMEDIATE_SIZE * 2, + device=device, dtype=torch.float16) + activated = bridge.silu_and_mul(gate_up) + assert activated.shape == (NUM_TOKENS, INTERMEDIATE_SIZE), f"shape: {activated.shape}" + print(f" ✓ shape={activated.shape}") + + +def test_moe_combine_result(bridge, device): + print("\n--- moe_combine_result ---") + expert_out = torch.randn(NUM_TOKENS * TOPK, HIDDEN_SIZE, + device=device, dtype=torch.float16) + weights = torch.randn(NUM_TOKENS, TOPK, device=device, dtype=torch.float32) + weights = torch.softmax(weights, dim=-1) + + combined = bridge.moe_combine_result(expert_out, weights) + assert combined.shape == (NUM_TOKENS, HIDDEN_SIZE), f"shape: {combined.shape}" + assert not torch.isnan(combined).any(), "NaN in combine output" + print(f" ✓ shape={combined.shape}") + + +def test_fused_pipeline(bridge, device): + print("\n--- fused_moe_forward (7-step pipeline) ---") + hidden = torch.randn(NUM_TOKENS, HIDDEN_SIZE, device=device, dtype=torch.float16) + router = torch.randn(NUM_TOKENS, NUM_EXPERTS, device=device, dtype=torch.float16) + w13 = torch.randn(NUM_EXPERTS, INTERMEDIATE_SIZE * 2, HIDDEN_SIZE, + device=device, dtype=torch.float16) * 0.01 + w2 = torch.randn(NUM_EXPERTS, HIDDEN_SIZE, INTERMEDIATE_SIZE, + device=device, dtype=torch.float16) * 0.01 + + t0 = time.time() + output = bridge.fused_moe_forward(hidden, router, w13, w2, TOPK, NUM_EXPERTS, True) + torch.cuda.synchronize() + elapsed = time.time() - t0 + + assert output.shape == (NUM_TOKENS, HIDDEN_SIZE), f"shape: {output.shape}" + assert not torch.isnan(output).any(), "NaN in fused output" + print(f" ✓ shape={output.shape}, time={elapsed*1000:.1f}ms") + + +def main(): + if not torch.cuda.is_available(): + print("CUDA not available, skipping GPU tests") + sys.exit(0) + + device = torch.device("cuda:0") + print(f"Device: {torch.cuda.get_device_name(0)}") + print(f"Params: {NUM_EXPERTS} experts, topk={TOPK}, hidden={HIDDEN_SIZE}, " + f"inter={INTERMEDIATE_SIZE}, tokens={NUM_TOKENS}") + + bridge = load_bridge() + funcs = [f for f in dir(bridge) if not f.startswith('_')] + print(f"Bridge loaded: {len(funcs)} functions: {funcs}") + + passed = 0 + failed = 0 + + for test_fn in [ + test_topk_softmax, + test_moe_gen_idx, + test_moe_expand_input, + test_group_gemm, + test_silu_and_mul, + test_moe_combine_result, + test_fused_pipeline, + ]: + try: + test_fn(bridge, device) + passed += 1 + except Exception as e: + print(f" ✗ FAILED: {e}") + import traceback; traceback.print_exc() + failed += 1 + + print(f"\n{'='*40}") + print(f"Results: {passed} passed, {failed} failed") + if failed > 0: + sys.exit(1) + + +if __name__ == "__main__": + main() \ No newline at end of file