-
Notifications
You must be signed in to change notification settings - Fork 77
Open
Description
Xllm 安装部署
基础镜像为:
swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:8.2.rc1-910b-ubuntu22.04-py3.11
在此基础镜像上安装了torch 2.1.0 torch npu等包,具体的包如下:
absl-py==2.3.1
aiohappyeyeballs==2.6.1
aiohttp==3.13.1
aiosignal==1.4.0
annotated-types==0.7.0
anyio==4.11.0
attrs==25.3.0
auto_tune @ file:///root/selfgz89316226/compiler/lib64/auto_tune-0.1.0-py3-none-any.whl#sha256=5374c539972c460012f38b618f00576e36163f03090c8dc58da9d40608065770
certifi==2025.7.14
cffi==1.17.1
cfgv==3.4.0
charset-normalizer==3.4.2
click==8.3.0
Cython==3.1.2
dataflow @ file:///root/selfgz89316226/compiler/lib64/dataflow-0.0.1-py3-none-any.whl#sha256=0f5d69abccf46385e2ac04c9bf5a6ebcf8d06f9fce6d55fd756420c029e4970e
decorator==5.2.1
distlib==0.4.0
distro==1.9.0
fastapi==0.117.1
filelock==3.19.1
frozenlist==1.8.0
fsspec==2025.9.0
h11==0.16.0
hccl @ file:///root/selfgz249748187/hccl/lib64/hccl-0.1.0-py3-none-any.whl#sha256=3a3037a8f2fb0949d6fefd479c26e32bda09fd84f3c2b321291d67726cee754d
hccl_parser @ file:///usr/local/Ascend/ascend-toolkit/8.2.RC1/toolkit/tools/hccl_parser-0.1-py3-none-any.whl#sha256=37541281a74de6ae3f8a15c77e1df8cf899bcbeb391a9a47ecfb582caf695fd8
hf-xet==1.1.10
httpcore==1.0.9
httptools==0.6.4
httpx==0.28.1
huggingface-hub==0.36.0
identify==2.6.15
idna==3.10
iniconfig==2.3.0
Jinja2==3.1.6
jiter==0.11.1
jsonschema==4.25.1
jsonschema-specifications==2025.9.1
llm_datadist @ file:///root/selfgz89316226/compiler/lib64/llm_datadist-0.0.1-py3-none-any.whl#sha256=87888a41b86749195527b9f468b770540f6e338547c989af902246b5b3c79eff
MarkupSafe==3.0.2
mpmath==1.3.0
msgpack==1.1.1
msobjdump @ file:///usr/local/Ascend/ascend-toolkit/8.2.RC1/toolkit/tools/msobjdump-0.1.0-py3-none-any.whl#sha256=9ecf6bf7680333f7bf138c2fb10a512ed183ceb63b63764e775895b31f72fad3
multidict==6.7.0
netifaces==0.11.0
networkx==3.5
nodeenv==1.9.1
numpy==1.24.0
nvidia-ml-py==13.580.82
op_compile_tool @ file:///root/selfgz89316226/compiler/lib64/op_compile_tool-0.1.0-py3-none-any.whl#sha256=5cb767ab2883d45a9b9e819d763ce35d3dd47a7ce1b9e3738144ba94324313a5
op_gen @ file:///usr/local/Ascend/ascend-toolkit/8.2.RC1/toolkit/tools/op_gen-0.1-py3-none-any.whl#sha256=db2b76ec8aa60b562f51e6e33d125a6ca2338d76d03c19a809c63d587cd5c7f6
op_test_frame @ file:///usr/local/Ascend/ascend-toolkit/8.2.RC1/toolkit/tools/op_test_frame-0.1-py3-none-any.whl#sha256=62fdd9628c60936e8b75cbe387781c24a4591b2675b5564ef8f6ff739cc04450
opc_tool @ file:///root/selfgz89316226/compiler/lib64/opc_tool-0.1.0-py3-none-any.whl#sha256=b5fd9db04670c046f0eba7c97953e72ddac87ebe1c27c10351b0b79d93be7de3
openai==2.6.0
orjson==3.11.3
packaging==25.0
pandas==2.3.2
pathlib2==2.3.7.post1
platformdirs==4.5.0
pluggy==1.6.0
pre_commit==4.3.0
propcache==0.4.1
protobuf==6.32.1
psutil==7.0.0
pycparser==2.22
pydantic==2.11.9
pydantic_core==2.33.2
Pygments==2.19.2
pynvml==13.0.1
pytest==8.4.2
python-dateutil==2.9.0.post0
pytz==2025.2
PyYAML==6.0.2
ray==2.49.2
referencing==0.36.2
requests==2.32.4
rpds-py==0.27.1
safetensors==0.6.2
schedule_search @ file:///root/selfgz89316226/compiler/lib64/schedule_search-0.1.0-py3-none-any.whl#sha256=20dd0cb9d8942ec562335e9fce095f999bf0eb3d4a4b3af9eb716e7c92bb3dc9
scipy==1.15.3
shortuuid==1.0.13
show_kernel_debug_data @ file:///usr/local/Ascend/ascend-toolkit/8.2.RC1/toolkit/tools/show_kernel_debug_data-0.1.0-py3-none-any.whl#sha256=33333537bad1e8e80280febb19bbe99d964f092c9e72ab96d0e4e2b41e9559b9
six==1.17.0
sniffio==1.3.1
starlette==0.48.0
sympy==1.14.0
te @ file:///root/selfgz89316226/compiler/lib64/te-0.4.0-py3-none-any.whl#sha256=7144725159b14419ee8861dd2c510bdb4473117beeab67d8a98cd876202eca47
torch==2.1.0
torch-npu @ file:///workspace/tmp/torch_npu-2.1.0.post14-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=e09feb014464c95b681423f80e8b57b7e60645e81d97a8d4d0cce26788bc8fc6
tqdm==4.67.1
typing-inspection==0.4.1
typing_extensions==4.15.0
tzdata==2025.2
urllib3==2.5.0
uvicorn==0.37.0
uvloop==0.21.0
virtualenv==20.35.3
yarl==1.22.0最终镜像名称为:
xllm-ubuntu-npu:20251023
创建容器的命令
#!/bin/bash
CONTAINER_NAME="xllm-ubuntu-npu"
IMAGE="xllm-ubuntu-npu:20251023"
docker run -itd \
--name ${CONTAINER_NAME} \
--ipc=host \
--network=host \
-u 0 \
--privileged \
--device=/dev/davinci0 \
--device=/dev/davinci1 \
--device=/dev/davinci2 \
--device=/dev/davinci3 \
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
-v /var/log/npu/profiling/:/var/log/npu/profiling \
-v /var/log/npu/dump/:/var/log/npu/dump \
-v /var/queue_schedule:/var/queue_schedule \
-v /data/Qwen3-32B:/weights/Qwen3-32B \
-v /runtime/:/runtime/ \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /usr/local/sbin/:/usr/local/sbin/ \
-v /var/log/npu/slog/:/var/log/npu/slog \
-v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \
-v /var/log/npu/conf/slog/slog.conf:/var/log/npu/conf/slog/slog.conf \
-v /usr/local/Ascend/add-ons/:/usr/local/Ascend/add-ons/ \
-v /home/:/home/ \
${IMAGE} \
/bin/bash进入容器
sudo docker exec -it xllm-ubuntu-npu bash步骤
1、系统源配置
cat > /etc/apt/sources.list <<EOF
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse
# 预发布软件源
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse
EOF2、pypi源配置
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
pip config set global.trusted-host mirrors.tuna.tsinghua.edu.cn3、安装系统依赖
apt update -y
apt install -y \
bison \
flex \
linux-libc-dev \
ccache \
build-essential \
cmake \
ninja-build \
pkg-config \
autoconf \
automake \
libtool \
libtool-bin \
m4 \
git \
curl \
zip \
unzip \
tar \
gettext \
autopoint \
libxi-dev \
libxtst-dev \
libx11-dev \
libxt-dev \
libxext-dev
apt install -y perl perl-base --no-install-recommends ca-certificates tzdata netbase wget vim curl \
python3-pip git wget net-tools gcc g++ cmake libnuma-dev unzip zip
apt install -y build-essential cmake ninja-build
apt install -y libx11-dev libxft-dev libxext-dev源码编译安装
1、下载xllm源码
mkdir -p /workspace && cd /workspace
git clone https://github.com/jd-opensource/xllm
git checkout release/v0.6.0
cd xllm
git submodule init
git submodule update2、vcpkg 安装
cd /workspace
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg && git checkout ffc42e97c866ce9692f5c441394832b86548422c
# 由于原仓无ffc42e97c866ce9692f5c441394832b86548422c信息,因此更换fork仓
cd /workspace
git clone https://github.com/vectorch-ai/vcpkg.git
cd vcpkg && git checkout ffc42e97c866ce9692f5c441394832b86548422c
export VCPKG_ROOT=/workspace/vcpkg
# 编译vcpkg
cd /workspace/vcpkg
./bootstrap-vcpkg.sh
export VCPKG_FORCE_SYSTEM_BINARIES=1
# 验证
./vcpkg version
./vcpkg install zlib --triplet=arm64-linux3、安装python依赖
cd /workspace/xllm
# 由于默认的分支为main,该分支的cibuild不存在requirements-dev.txt 文件,因此需要切换分支
git checkout release/v0.6.0
pip install -r cibuild/requirements-dev.txt
pip install --upgrade setuptools wheel
pip install pre-commit4、升级cmake版本
cd /tmp
wget https://github.com/Kitware/CMake/releases/download/v3.27.9/cmake-3.27.9-linux-aarch64.tar.gz
# 解压
tar -xzf cmake-3.27.9-linux-aarch64.tar.gz
# 备份旧版本
mv /usr/bin/cmake /usr/bin/cmake.bak
# 将新版本链接到 PATH
cp /tmp/cmake-3.27.9-linux-aarch64/bin/cmake /usr/local/bin/cmake
cp -s /tmp/cmake-3.27.9-linux-aarch64/bin/ctest /usr/local/bin/ctest
# 将整个内容复制到 /usr/local/
cd /tmp/cmake-3.27.9-linux-aarch64
cp -r bin/ /usr/local/
cp -r share/ /usr/local/
# 验证版本,需要推出当前登陆重新登陆一下
cmake --version5、编译xllm
export VCPKG_ROOT=/workspace/vcpkg
export VCPKG_FORCE_SYSTEM_BINARIES=1
export VCPKG_CMAKE_CONFIGURE_OPTIONS="-DIS_X86_64_ARCH=OFF"
export VCPKG_DOWNLOADS_MIRROR=https://mirrors.tuna.tsinghua.edu.cn/vcpkg/
cd /workspace/xllm/
python setup.py bdist_wheel --device='a2' --arch='arm'错误:libsystemd编译失败
日志:
Installing 143/154 libsystemd:arm64-linux@254#2...
Building libsystemd:arm64-linux@254#2...
warning: -- Using community triplet arm64-linux. This triplet configuration is not guaranteed to succeed.
-- [COMMUNITY] Loading triplet configuration from: /workspace/vcpkg/triplets/community/arm64-linux.cmake
-- Installing port from location: /workspace/vcpkg/buildtrees/versioning_/versions/libsystemd/5213227454790bf5e953a66d807e04059742381e
-- Downloading https://github.com/systemd/systemd/archive/v254.tar.gz -> systemd-systemd-v254.tar.gz...
-- Extracting source /workspace/vcpkg/downloads/systemd-systemd-v254.tar.gz
-- Applying patch pkgconfig.patch
-- Using source at /workspace/vcpkg/buildtrees/libsystemd/src/v254-832da4078b.clean
-- Getting CMake variables for arm64-linux-dbg
-- Getting CMake variables for arm64-linux-rel
-- Configuring arm64-linux-dbg
-- Configuring arm64-linux-dbg done
-- Configuring arm64-linux-rel
-- Configuring arm64-linux-rel done
-- Building (arm64-linux-dbg)...
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:134 (message):
Command failed: /usr/bin/ninja -C /workspace/vcpkg/buildtrees/libsystemd/arm64-linux-dbg libsystemd.a devel
Working Directory: /workspace/vcpkg/buildtrees/libsystemd/src/v254-832da4078b.clean
See logs for more information:
/workspace/vcpkg/buildtrees/libsystemd/build-arm64-linux-dbg-out.log
Call Stack (most recent call first):
scripts/cmake/vcpkg_build_ninja.cmake:3 (vcpkg_execute_build_process)
scripts/cmake/vcpkg_build_ninja.cmake:24 (z_vcpkg_build_ninja_build)
buildtrees/versioning_/versions/libsystemd/5213227454790bf5e953a66d807e04059742381e/portfile.cmake:26 (vcpkg_build_ninja)
scripts/ports.cmake:172 (include)
error: building libsystemd:arm64-linux failed with: BUILD_FAILED
Elapsed time to handle libsystemd:arm64-linux: 49 s
Please ensure you're using the latest port files with `git pull` and `vcpkg update`.
Then check for known issues at:
https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+libsystemd
You can submit a new issue at:
https://github.com/microsoft/vcpkg/issues/new?title=[libsystemd]+Build+error+on+arm64-linux&body=Copy+issue+body+from+%2Fworkspace%2Fxllm%2Fbuild%2Fcmake.linux-aarch64-cpython-311%2Fvcpkg_installed%2Fvcpkg%2Fissue_body.md
-- Running vcpkg install - failed
CMake Error at /workspace/vcpkg/scripts/buildsystems/vcpkg.cmake:899 (message):
vcpkg install failed. See logs for more information:
/workspace/xllm/build/cmake.linux-aarch64-cpython-311/vcpkg-manifest-install.log
Call Stack (most recent call first):
/usr/local/share/cmake-3.27/Modules/CMakeDetermineSystem.cmake:148 (include)
CMakeLists.txt:220 (project)
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
Build failed.
root@localhost:/workspace/xllm#Metadata
Metadata
Assignees
Labels
No labels