Files
project_6/upstream_ref/xllm/third_party/dependencies.sh
EX Engine 002f9879b2 ref(upstream): FULL TREE — Deep-Spark xllm (1470) + ds_vllm csrc/models (703)
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
2026-08-10 02:54:03 +00:00

132 lines
3.9 KiB
Bash

#!/bin/bash
# Color definitions
GREEN="\033[0;32m"
BLUE="\033[0;34m"
YELLOW="\033[0;33m"
RED="\033[0;31m"
NC="\033[0m" # No Color
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
INSTALL_PREFIX="/usr/local/yalantinglibs"
print_section() {
echo -e "\n${BLUE}=== $1 ===${NC}"
}
print_success() {
echo -e "${GREEN}$1${NC}"
}
print_warning() {
echo -e "${YELLOW}$1${NC}"
}
print_error() {
echo -e "${RED}✗ ERROR: $1${NC}"
exit 1
}
run_or_die() {
local error_message="$1"
shift
"$@"
if [ $? -ne 0 ]; then
print_error "$error_message"
fi
}
ensure_dir() {
local dir_path="$1"
local error_message="$2"
if [ ! -d "${dir_path}" ]; then
run_or_die "${error_message}" mkdir -p "${dir_path}"
fi
}
remove_dir_if_exists() {
local dir_path="$1"
local dir_name="$2"
if [ -d "${dir_path}" ]; then
print_warning "${dir_name} directory already exists. Removing for fresh install..."
run_or_die "Failed to remove existing ${dir_name} directory" rm -rf "${dir_path}"
fi
}
patch_yalantinglibs_config() {
local config_file="$1"
if [ -f "${config_file}" ]; then
run_or_die \
"Failed to patch yalantinglibs config.cmake" \
sed -i \
'54s/target_link_libraries(${ylt_target_name} -libverbs)/target_link_libraries(${ylt_target_name} INTERFACE -libverbs)/' \
"${config_file}"
fi
}
patch_yalantinglibs_easylog() {
local easylog_header="$1"
if [ -f "${easylog_header}" ]; then
run_or_die \
"Failed to patch yalantinglibs easylog severity default" \
sed -i \
'/std::atomic<Severity> min_severity_ =/,/#endif/c\ std::atomic<Severity> min_severity_ = Severity::WARN;' \
"${easylog_header}"
fi
}
install_yalantinglibs() {
print_section "Installing yalantinglibs"
local thirdparties_dir="${REPO_ROOT}/third_party/Mooncake/thirdparties"
local yalanting_repo_url="https://gitcode.com/gh_mirrors/ya/yalantinglibs.git"
local yalanting_source_dir="${thirdparties_dir}/yalantinglibs"
local yalanting_build_dir="${yalanting_source_dir}/build"
local yalanting_config_file="${INSTALL_PREFIX}/lib/cmake/yalantinglibs/config.cmake"
local yalanting_easylog_header="${yalanting_source_dir}/include/ylt/easylog.hpp"
ensure_dir "${thirdparties_dir}" "Failed to create Mooncake/thirdparties directory"
remove_dir_if_exists "${yalanting_source_dir}" "yalantinglibs"
echo "Cloning yalantinglibs from ${yalanting_repo_url}"
run_or_die "Failed to clone yalantinglibs" git clone "${yalanting_repo_url}" "${yalanting_source_dir}"
echo "Checking out yalantinglibs version 0.5.5..."
run_or_die "Failed to checkout yalantinglibs version 0.5.5" git -C "${yalanting_source_dir}" checkout 0.5.5
patch_yalantinglibs_easylog "${yalanting_easylog_header}"
ensure_dir "${yalanting_build_dir}" "Failed to create build directory"
echo "Configuring yalantinglibs..."
run_or_die \
"Failed to configure yalantinglibs" \
cmake \
-S "${yalanting_source_dir}" \
-B "${yalanting_build_dir}" \
-DCMAKE_INSTALL_PREFIX="${INSTALL_PREFIX}" \
-DBUILD_EXAMPLES=OFF \
-DBUILD_BENCHMARK=OFF \
-DBUILD_UNIT_TESTS=OFF \
-DYLT_ENABLE_IBV=ON
echo "Building yalantinglibs (using $(nproc) cores)..."
run_or_die "Failed to build yalantinglibs" cmake --build "${yalanting_build_dir}" -j"$(nproc)"
echo "Installing yalantinglibs..."
run_or_die "Failed to install yalantinglibs" cmake --install "${yalanting_build_dir}"
patch_yalantinglibs_config "${yalanting_config_file}"
print_success "yalantinglibs installed successfully to ${INSTALL_PREFIX}"
}
main() {
ensure_dir "${INSTALL_PREFIX}" "Failed to create install directory: ${INSTALL_PREFIX}"
echo -e "${YELLOW}Installing to: ${INSTALL_PREFIX}${NC}"
install_yalantinglibs
}
main "$@"