-
一、服务环境说明
- 操作系统:麒麟操作系统
- 网络:公安网(所有安装包都需要离线安装)
- GPU:4张DCU-Z100
-
二、Conda环境搭建
- 注:考虑公安网不能访问互联网,不能通过 conda create -n glm4 python=3.10创建虚拟环境。
-
2.1conda安装
-
# bash Miniconda3-py39_23.9.0-0-Linux-x86_64.sh
#第一个yes/no,输入yes
#第二步,输入conda安装路径
#最后一个yes/no,也输入yes
-
2.1.1修改conda安装路径
-
# /app/miniconda3
# source ~/.bashrc
使用以下命令检查conda是否成功安装:
# conda --version
如果conda成功安装,您将看到conda的版本号。
-
2.1.2解决终端每次打开都进入conda的base环境的问题
-
#执行
conda config --set auto_activate_base false
-
2.1.3查看conda环境
-
#conda info -e
-
2.2迁移虚拟环境
注:目标主机操作系统架构和源主机操作系统架构一致。
- 源主机安装conda-pack
-
#conda install conda-pack
- 查看conda环境
-
#conda info -e
- 指定虚拟机环境进行压缩
-
conda pack -n glm4 -o glm4.tar.gz # 自定义压缩包名
- 在目标主句的envs中,创建python虚拟机环境名称
-
#cd /app/miniconda3/envs
mkdir glm4
cd glm4
- 将压缩包上传到目标主机的对应目录中并解压,如glm4
-
#cd /app/miniconda3/envs/glm4
tar -zxvf glm4.tar.gz
mv -i //app/miniconda3/envs/glm4/glm4.tar.gz /app/tools
- 激活虚拟环境
-
#conda activate glm4
- 查看python版本
-
#python3 --version
-
2.3激活Python虚拟环境
-
# conda activate glm4
-
2.4停用Python虚拟环境
-
# conda deactivate
-
三、安装DCU-Z100驱动
- 下载地址:https://developer.hpccube.com/tool/
-
3.1查看DCU 设备id
-
查看是否检测到DCU加速卡
# lspci -nn | grep -i disp
-
3.2安装依赖(提前配置本地yum源)
-
rpm系列系统(CentOS,NFS,Anolis,Kylin,UOS,openEuler)
# yum install -y \
cmake \
automake \
gcc \
gcc-c++ \
rpm-build \
autoconf \
kernel-devel-`uname -r` \
kernel-headers-`uname -r`
-
3.3安装驱动(比较耗时)
-
#cd /app/tools \
&& chmod 755 rock*.run \
&& ./rock*.run \
&& reboot
注:卸载驱动请执行命令rpm -e rock。
-
-
3.4验证安装驱动成功
-
lsmod | grep dcu
-
四、安装DTK工具包
-
4.1安装DTK(DCU Toolkit,DCU软件平台)依赖包
-
rpm系列系统(CentOS,NFS,Anolis,Kylin,UOS,openEuler)
# yum install -y \
epel-release \
centos-release-scl \
&& yum clean all \
&& yum makecache \
&& yum groupinstall -y "Development tools" \
&& yum install -y \
vim \
curl \
bzip2 \
bzip2-devel \
sudo \
gcc \
uuid-devel \
gdbm-devel \
readline-devel \
tk-devel \
openssl \
openssl-devel \
openssl-static \
rpm-build \
patch \
ninja-build \
glog-devel \
lmdb-devel \
opencv-devel \
openblas-devel \
libibverbs-devel \
gflags-devel \
gstreamer1 \
gstreamer1-devel \
gstreamer1-plugins-base \
gstreamer1-plugins-base-devel \
gstreamer1-plugins-bad-free \
gstreamer1-plugins-bad-free-devel \
gstreamer1-plugins-good \
gstreamer1-plugins-ugly-free \
gstreamer1-plugins-ugly-free-devel \
gst123 \
libibverbs-devel \
libibverbs-utils \
libffi-devel \
zlib-devel \
openssl-devel \
ncurses-devel \
sqlite-devel \
devtoolset-7-gcc* \
numactl \
numactl-devel \
wget \
openssh \
openssh-server
-
4.2python安装
-
cd /app/tools \
&& mkdir python-tmp \
&& tar -xvf python.tgz -C /app/tools/python-tmp --strip-components 1 \
&& cd /app/tools/python-tmp \
&& ./configure \
--enable-shared \
&& make -j$(nproc) \
&& make install \
&& ln -s /usr/local/bin/python3 /usr/local/bin/python \
&& ln -sf /usr/local/bin/pip3 /usr/local/bin/pip
-
4.3cmake安装(离线安装)
-
#cd /app/tools \
&& mkdir /app/cmake \
&& tar -xvf cmake-3.19.3-Linux-x86_64.tar.gz -C /app/cmake --strip-components 1 \
配置
vi /etc/profile
在文件最后增加
export PATH=/app/cmake/bin:$PATH
使配置生效
#source /etc/profile
查看版本
#cmake --version
-
4.4hwloc安装(离线安装)
-
#cd /app/tools \
&& mkdir /app/hwloc-tmp \
&& tar -xvf hwloc-2.7.1.tar.gz -C /app/hwloc-tmp --strip-components 1 \
&& cd /app/hwloc-tmp \
&& ./configure --prefix=/app/hwloc \
&& make -j$(nproc) \
&& make install
-
4.5mpi安装(离线
-
#cd /app/tools \
&& mkdir /app/openmpi-tmp \
&& tar -xvf openmpi-4.0.1.tar.gz -C /app/openmpi-tmp --strip-components 1 \
&& cd /app/openmpi-tmp \
&& ./configure \
--prefix=/app/mpi/ \
--with-hwloc=/app/hwloc/ \
--enable-orterun-prefix-by-default \
--enable-mpi-thread-multiple \
--enable-dlopen \
&& make -j$(nproc) \
&& make install
-
4.6安装DTK(离线)
-
#cd /app/tools
#tar -xvf DTK-*.tar.gz -C /app/tools/ \
&& ln -s /app/tools/dtk-* /app/tools/dtk
-
4.7设置环境变量
-
cat > /etc/profile.d/dtk.sh <<-"EOF"
#!/bin/bash
#gcc
source /app/rh/devtoolset-7/enable
#python3
export LD_LIBRARY_PATH=/usr/local/lib/:/usr/local/lib64/:$LD_LIBRARY_PATH
export PATH=/usr/local/bin:$PATH
export PYTHONPATH=/usr/local/:$PYTHONPATH
#cmake
export PATH=/app/cmake/bin/:$PATH
#hwloc
export PATH=/app/hwloc/bin/:${PATH} \
export LD_LIBRARY_PATH=/app/hwloc/lib:${LD_LIBRARY_PATH}
#mpi
export LD_LIBRARY_PATH=/app/mpi/lib:$LD_LIBRARY_PATH
export PATH=/app/mpi/bin:$PATH
#DTK
source /app/tools/dtk/env.sh
EOF
source /etc/profile.d/dtk.sh
后期编辑
-
#vi /etc/profile.d/dtk.sh
export ROCM_HOME=/app/tools/dtk
export LD_LIBRARY_PATH=$ROCM_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ROCM_HOME/bin:$PATH
#source /etc/profile.d/dtk.sh
-
4.8验证DCU环境
-
通过rocm-smi以及rocminfo | grep gfx命令验证DCU环境安装完毕,如图所示:
-
4.9设置了可见 GPU
-
# export HIP_VISIBLE_DEVICES=0,1,2,3
# echo $HIP_VISIBLE_DEVICES
-
五、GLM4安装部署
-
5.1下载离线安装包
- 在有网络的地方将glm4依赖的包下载到一个文件夹中
-
pip download -r /home/app/gadx/glm4_pkg/requirements.txt -d /home/app/gadx/glm4_pkg
-
5.2离线安装
-
pip install --no-index --find-links=/app/tools/glm4_pkg -r /app/tools/glm4_pkg/requirements.txt
-
5.21.特殊安装包
- 从https://developer.hpccube.com/tool/下载torch-2.1.0、Torchvision-0.16.0等
-
torch-2.1.0+das1.0+git00661e0.abi0.dtk2404-cp310-cp310-manylinux2014_x86_64.whl
-
torchvision-0.16.0+das1.0+gitc9e7141.abi0.dtk2404.torch2.1-cp310-cp310-manylinux2014_x86_64.whl
-
deepspeed-0.12.3+das1.0+gita724046.abi0.dtk2404.torch2.1.0-cp310-cp310-manylinux2014_x86_64.whl
-
vllm-0.3.3+das1.0+git3380931.abi0.dtk2404.torch2.1-cp310-cp310-manylinux2014_x86_64.whl
-
triton-2.1.0+das1.0+git3841f975.abi0.dtk2404-cp310-cp310-manylinux2014_x86_64.whl
-
xformers-0.0.25+das1.0+gitd11e899.abi0.dtk2404.torch2.1-cp310-cp310-manylinux2014_x86_64.whl
-
5.3开放端口
-
firewall-cmd --add-port=8501/tcp --permanent
-
5.4查询端口是否开启成功
-
firewall-cmd --query-port=8000/tcp
-
5.5运行GLM4的命令对话
-
#python trans_cli_demo.py
基于国产DCU-Z100的GPU在公安网部署GLM-4-9B
最新推荐文章于 2024-09-15 15:29:29 发布