Replaces cherry-picked upstream_ref with complete source trees. xllm/ — Iluvatar official C++ inference engine (15MB, 1470 files) Complete: kernels → layers → models → runtime → scheduler → api Excluded: .git, binary images, third_party submodule checkouts ds_vllm/ — Iluvatar official vllm fork (8MB, 703 files) Included: csrc/ (ALL CUDA kernels), fused_moe/, qwen3_5 model, _custom_ops Excluded: tests, benchmarks, docs, examples (not needed for reference) Critical call chains now fully traceable: MoE: moe_topk_softmax_kernels.cuh → ixformer.h → fused_moe.cpp → layer GDN: qwen3_gated_delta_net_base.cpp → qwen3_5_gated_delta_net.cpp Attention: ixformer.h → xllm_paged_attention → attention.cpp
101 lines
5.5 KiB
C
101 lines
5.5 KiB
C
/* Copyright 2025 The xLLM Authors. All Rights Reserved.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
https://github.com/jd-opensource/xllm/blob/main/LICENSE
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
==============================================================================*/
|
|
|
|
#pragma once
|
|
|
|
#if defined(USE_NPU)
|
|
#include "dit/npu/qwen_image_edit/pipeline_qwenimage_edit_plus.h" // IWYU pragma: keep
|
|
#include "dit/pipeline_flux.h" // IWYU pragma: keep
|
|
#include "dit/pipeline_flux_control.h" // IWYU pragma: keep
|
|
#include "dit/pipeline_flux_fill.h" // IWYU pragma: keep
|
|
#include "llm/npu/deepseek_mtp.h" // IWYU pragma: keep
|
|
#include "llm/npu/deepseek_v2.h" // IWYU pragma: keep
|
|
#include "llm/npu/deepseek_v3.h" // IWYU pragma: keep
|
|
#include "llm/npu/deepseek_v32.h" // IWYU pragma: keep
|
|
#include "llm/npu/deepseek_v32_mtp.h" // IWYU pragma: keep
|
|
#include "llm/npu/glm4.h" // IWYU pragma: keep
|
|
#include "llm/npu/glm4_moe.h" // IWYU pragma: keep
|
|
#include "llm/npu/glm4_moe_lite.h" // IWYU pragma: keep
|
|
#include "llm/npu/glm4_moe_mtp.h" // IWYU pragma: keep
|
|
#include "llm/npu/glm5_moe.h" // IWYU pragma: keep
|
|
#include "llm/npu/glm5_moe_mtp.h" // IWYU pragma: keep
|
|
#include "llm/npu/joyai_llm_flash.h" // IWYU pragma: keep
|
|
#include "llm/npu/kimi_k2.h" // IWYU pragma: keep
|
|
#include "llm/npu/llama.h" // IWYU pragma: keep
|
|
#include "llm/npu/llama3.h" // IWYU pragma: keep
|
|
#include "llm/npu/oxygen.h" // IWYU pragma: keep
|
|
#include "llm/npu/qwen2.h" // IWYU pragma: keep
|
|
#include "llm/npu/qwen3.h" // IWYU pragma: keep
|
|
#include "llm/npu/qwen3_eagle3.h" // IWYU pragma: keep
|
|
#include "llm/npu/qwen3_moe.h" // IWYU pragma: keep
|
|
#include "llm/qwen3.h" // IWYU pragma: keep
|
|
#include "llm/qwen3_5.h" // IWYU pragma: keep
|
|
#include "llm/qwen3_5_mtp.h" // IWYU pragma: keep
|
|
#include "llm/qwen3_next.h" // IWYU pragma: keep
|
|
#include "rec/npu/onerec.h" // IWYU pragma: keep
|
|
#include "vlm/npu/glm4v.h" // IWYU pragma: keep
|
|
#include "vlm/npu/glm4v_moe.h" // IWYU pragma: keep
|
|
#include "vlm/npu/minicpmv.h" // IWYU pragma: keep
|
|
#include "vlm/npu/oxygen_vlm.h" // IWYU pragma: keep
|
|
#include "vlm/npu/qwen2_5_vl.h" // IWYU pragma: keep
|
|
#include "vlm/npu/qwen2_5_vl_mm_embedding.h" // IWYU pragma: keep
|
|
#include "vlm/npu/qwen2_vl.h" // IWYU pragma: keep
|
|
#include "vlm/npu/qwen3_vl.h" // IWYU pragma: keep
|
|
#include "vlm/npu/qwen3_vl_mm_embedding.h" // IWYU pragma: keep
|
|
#include "vlm/npu/qwen3_vl_moe.h" // IWYU pragma: keep
|
|
|
|
#elif defined(USE_MLU)
|
|
#include "dit/pipeline_flux.h" // IWYU pragma: keep
|
|
#include "dit/pipeline_flux_control.h" // IWYU pragma: keep
|
|
#include "dit/pipeline_flux_fill.h" // IWYU pragma: keep
|
|
#include "llm/deepseek_mtp.h" // IWYU pragma: keep
|
|
#include "llm/deepseek_v2.h" // IWYU pragma: keep
|
|
#include "llm/deepseek_v3.h" // IWYU pragma: keep
|
|
#include "llm/deepseek_v32.h" // IWYU pragma: keep
|
|
#include "llm/glm5.h" // IWYU pragma: keep
|
|
#include "llm/glm5_mtp.h" // IWYU pragma: keep
|
|
#include "llm/joyai_llm_flash.h" // IWYU pragma: keep
|
|
#include "llm/joyai_llm_flash_mtp.h" // IWYU pragma: keep
|
|
#include "llm/mtp_model_base.h" // IWYU pragma: keep
|
|
#include "llm/oxygen.h" // IWYU pragma: keep
|
|
#include "llm/qwen2.h" // IWYU pragma: keep
|
|
#include "llm/qwen3.h" // IWYU pragma: keep
|
|
#include "llm/qwen3_moe.h" // IWYU pragma: keep
|
|
#include "vlm/oxygen_vlm.h" // IWYU pragma: keep
|
|
#include "vlm/qwen2_5_vl.h" // IWYU pragma: keep
|
|
#include "vlm/qwen2_vl.h" // IWYU pragma: keep
|
|
#include "vlm/qwen3_5.h" // IWYU pragma: keep
|
|
#include "vlm/qwen3_vl.h" // IWYU pragma: keep
|
|
#include "vlm/qwen3_vl_moe.h" // IWYU pragma: keep
|
|
#elif defined(USE_ILU)
|
|
#include "llm/qwen2.h" // IWYU pragma: keep
|
|
#include "llm/qwen3.h" // IWYU pragma: keep
|
|
#include "llm/qwen3_moe.h" // IWYU pragma: keep
|
|
#elif defined(USE_CUDA)
|
|
#include "dit/pipeline_longcat_image.h" // IWYU pragma: keep
|
|
#include "dit/pipeline_longcat_image_edit.h" // IWYU pragma: keep
|
|
#include "llm/qwen2.h" // IWYU pragma: keep
|
|
#include "llm/qwen3.h" // IWYU pragma: keep
|
|
#include "llm/qwen3_moe.h" // IWYU pragma: keep
|
|
#include "vlm/qwen2_5_vl.h" // IWYU pragma: keep
|
|
#include "vlm/qwen2_vl.h" // IWYU pragma: keep
|
|
#include "vlm/qwen3_vl.h" // IWYU pragma: keep
|
|
#include "vlm/qwen3_vl_moe.h" // IWYU pragma: keep
|
|
#elif defined(USE_MUSA)
|
|
#include "llm/musa/qwen3.h" // IWYU pragma: keep
|
|
#else
|
|
#error "Unsupported device type, only support NPU, CUDA, MLU, ILU and MUSA now."
|
|
#endif
|