驱动安装前准备
ubuntu或者kylin系统安装完成后,执行以下步骤:
建议切换到root用户
sudo su
安装系统软件包(缺的时候装)
ubuntu:
apt-get update
apt-get install -y make gcc unzip tar
kylin:
yum install -y make unzip tar
内核禁止自动升级(ubuntu系统需要执行这个)
apt-mark hold linux-image-generic linux-headers-generic linux-headers-$(uname -r) linux-image-$(uname -r) linux-modules-$(uname -r) linux-modules-extra-$(uname -r)
内核禁止自动升级(centos系统需要执行这个)
echo "exclude=kernel*" >>/etc/yum.conf
安装GCC12(ubuntu内核版本高于5.19或者安装天数驱动时报错errorcode32时需要安装)
apt install software-properties-common
apt-get update
add-apt-repository ppa:ubuntu-toolchain-r/test
apt install gcc-12
查看gcc12是否装成功
gcc-12 --version
如果需要在宿主机或者conda环境下跑示例模型需要下载天数框架包,准备下载包存放目录/home/whl310。如果只需要安装驱动,不需要执行这步
cd /home
mkdir whl310
在sftp上下载需要的安装包-智铠产品(mr50,mr100)
智铠产品(mr50,mr100) sftp密码:
联系天数工程师
如果只需要安装驱动,只需下载以下四个文件就可以了
sftp -P 29880 iluvatar_mr@iftp.iluvatar.com.cn
get /MR_4.2.0/x86/firmware/fw_tool/mr50/ixfw-mr_50-2.0.20_x86_64.run /home (mr50下载这个)
get /MR_4.2.0/x86/firmware/fw_tool/mr100/ixfw-mr_100-2.0.20_x86_64.run /home (mr100下载这个)
get /partial_install_cuda_header.tar.gz /home
get /MR_4.2.0/x86/sdk/corex-installer-linux64-4.2.0_x86_64_10.2.run /home
如果需要在宿主机或者conda环境下跑示例模型需要下载天数框架包,下载框架包和框架自动安装脚本到/home/whl310
get /client_tmp/support/installwhl.sh /home
get /MR_4.2.0/x86/apps/py3.10/* /home/whl310
get /MR_4.2.0/x86/add-on/py3.10/* /home/whl310
如果需要创建conda环境,需要下载conda安装包到/home目录下
get /client_tmp/support/Miniconda3-latest-Linux-x86_64.sh /home
如果需要创建docker环境,需要下载docker离线安装包到/home目录下
get /client_tmp/support/docker-20.10.14.tgz /home
get /client_tmp/support/docker.service /home
get /client_tmp/support/daemon.json /home
get /MR_4.2.0/x86/sdk/corex-docker-installer-4.2.0-10.2-ubuntu20.04-py3.10-x86_64.run /home (ubuntu系统下载这个)
get /MR_4.2.0/x86/sdk/corex-docker-installer-4.2.0-10.2-centos7.8.2003-py3.10-x86_64.run /home (kylin系统下载这个)
如果需要执行示例模型测试,需要下载示例模型包和数据集
get /MR_4.2.0/x86/sdk/inferencesamples-4.2.0.tgz /home
get /dataset/corex-inference-data-3.3.0.tar /home
安装驱动和SDK步骤
安装cuda header
智铠产品
tar -zxvf partial_install_cuda_header.tar.gz
统一执行以下安装步骤
cd partial_install_cuda_header
bash install-cuda-header.sh
安装驱动前升级固件
mr50产品
bash /home/ixfw-mr_50-2.0.20_x86_64.run
mr100产品
bash /home/ixfw-mr_100-2.0.20_x86_64.run
宿主机上安装驱动和软件栈
mr50,mr100产品
bash /home/corex-installer-linux64-4.2.0_x86_64_10.2.run --silent --driver --toolkit
设置环境变量
mr50,mr100产品
vi /root/.bashrc
export LD_LIBRARY_PATH=/usr/local/corex-4.2.0/lib
export PATH=/usr/local/corex-4.2.0/bin:$PATH
使环境变量生效
source /root/.bashrc
检查是否安装成功
ixsmi
检查加速卡带宽是否都为x16
lspci -vvv | grep -A 25 1e3e | grep -E "1e3e|LnkSta|Memory"
示例模型测试(conda环境)
安装Minconda3
bash /home/Miniconda3-latest-Linux-x86_64.sh -b -u -p ~/miniconda3
~/miniconda3/bin/conda init
激活conda环境
source ~/.bashrc
创建conda环境
conda create --name py310 python=3.10
conda env list
conda activate py310
安装模型依赖包
apt-get install -y libncursesw5 libjpeg-dev zlib1g-dev rustc cargo libmpich-dev libopenmpi-dev libgirepository1.0-dev cmake libcairo2-dev pkg-config(ubuntu执行这个)
yum install -y ncurses-compat-libs libjpeg-turbo-devel zlib-devel rustc cargo mpich-devel openmpi-devel gobject-introspection-devel cmake cairo-devel pkg-config(kylin执行这个)
conda install mpi4py
安装示例模型学习框架
cd /home
bash installwhl.sh /home/whl310 (时间有点长,耐心等待)
安装示例脚本
mr50,mr100产品
tar -zxvf /home/inferencesamples-4.2.0.tgz
推理示例模型测试-mr50,mr100产品
安装深度学习推理框架示例脚本
cp /home/corex-inference-data-3.3.0.tar /home/inferencesamples/
cd /home/inferencesamples/
tar -xvf corex-inference-data-3.3.0.tar
准备推理前环境
cd /home/inferencesamples
bash quick_build_environment.sh
根据对应模型执行初始化脚本init.sh 模型是resnet,如下
cd /home/inferencesamples/executables/resnet
bash init.sh
执行推理模型resnet50测试
bash infer_resnet50_int8_accuracy_ixrt.sh
bash infer_resnet50_int8_accuracy_igie.sh
bash infer_resnet50_int8_performance_ixrt.sh
bash infer_resnet50_int8_performance_igie.sh
bash infer_resnet50_fp16_accuracy_ixrt.sh
bash infer_resnet50_fp16_accuracy_igie.sh
bash infer_resnet50_fp16_performance_igie.sh
bash infer_resnet50_fp16_performance_ixrt.sh
根据对应模型执行初始化脚本init.sh 模型是yolov5s,如下
cd /home/inferencesamples/executables/yolov5s
bash init.sh
执行推理模型yolov5s测试
bash infer_yolov5s_fp16_accuracy_igie.sh
bash infer_yolov5s_fp16_accuracy_ixrt.sh
bash infer_yolov5s_fp16_performance_igie.sh
bash infer_yolov5s_fp16_performance_ixrt.sh
示例模型测试(docker环境)
安装docker
cd /home
tar -zxvf docker-20.10.14.tgz
cp docker/* /usr/bin/
cp /home/docker.service /etc/systemd/system/
chmod +x /etc/systemd/system/docker.service
systemctl daemon-reload
systemctl start docker
systemctl enable docker.service
cp /home/daemon.json /etc/docker/
systemctl daemon-reload
systemctl restart docker
导入天数base镜像文件(这个步骤时间比较长,耐心等待)
mr50,mr100产品
bash /home/corex-docker-installer-4.2.0-10.2-ubuntu20.04-py3.10-x86_64.run --silent --disable-dkms #ubuntu系统镜像执行这个
bash /home/corex-docker-installer-4.2.0-10.2-centos7.8.2003-py3.10-x86_64.run --silent --disable-dkms #centos系统镜像执行这个
创建base镜像容器
mr50,mr100产品
docker run --shm-size="32g" -it -v /usr/src:/usr/src -v /lib/modules:/lib/modules -v /dev:/dev -v /home:/home --network=host --name=test --privileged --cap-add=ALL --pid=host corex:4.2.0
安装示例脚本
mr50,mr100产品
tar -zxvf /home/inferencesamples-4.2.0.tgz
推理示例模型测试-mr50,mr100产品
安装深度学习推理框架示例脚本
cp /home/corex-inference-data-3.3.0.tar /home/inferencesamples/
cd /home/inferencesamples/
tar -xvf corex-inference-data-3.3.0.tar
准备推理前环境
cd /home/inferencesamples
bash quick_build_environment.sh
pip3 install /home/whl310/pycuda-2022.2.2+corex.4.2.0-cp310-cp310-linux_x86_64.whl
根据对应模型执行初始化脚本init.sh 模型是resnet,如下
cd /home/inferencesamples/executables/resnet
bash init.sh
执行推理模型resnet50测试
bash infer_resnet50_int8_accuracy_ixrt.sh
bash infer_resnet50_int8_accuracy_igie.sh
bash infer_resnet50_int8_performance_ixrt.sh
bash infer_resnet50_int8_performance_igie.sh
bash infer_resnet50_fp16_accuracy_ixrt.sh
bash infer_resnet50_fp16_accuracy_igie.sh
bash infer_resnet50_fp16_performance_igie.sh
bash infer_resnet50_fp16_performance_ixrt.sh
根据对应模型执行初始化脚本init.sh 模型是yolov5s,如下
cd /home/inferencesamples/executables/yolov5s
bash init.sh
执行推理模型yolov5s测试
bash infer_yolov5s_fp16_accuracy_igie.sh
bash infer_yolov5s_fp16_accuracy_ixrt.sh
bash infer_yolov5s_fp16_performance_igie.sh
bash infer_yolov5s_fp16_performance_ixrt.sh