18  
查询码: 00000098
从纯净docker镜像安装天数SDK - 以Ubuntu20.04为例
作者: 柳玉明 于 2024年12月13日 ,于 2025年05月14日 编辑


一、下载corex驱动和sdk

智凯

下载地址

通过SFTP下载,SFTP地址、密码联系天数工程师

cd MR_4.1.2/x86/

驱动包目录

corex-driver-linux64-4.1.2_x86_64_10.2.run 驱动run包

corex-installer-linux64-4.1.2_x86_64_10.2.run SDK run包,包含驱动

corex-samples-4.1.2_x86_64.run 一些测试用例

python适配包目录

提供GPU相关的python适配包,业务中使用到的相关依赖需要替换为天数提供的适配包

apps目录

add-on 目录

tools 目录

天数适配的cmake在此目录下

天垓

下载地址

通过SFTP下载,SFTP地址、密码联系天数工程师

内容同智凯

二、从纯净镜像启动docker容器

启动基础容器

docker run -itd -v /usr/src:/usr/src -v /lib/modules:/lib/modules -v /dev:/dev -v /home:/root/data -w /root --privileged --cap-add=ALL --pid=host --name test ubuntu:20.04

参数解释:

-v /usr/src:/usr/src -v /lib/modules:/lib/modules -v /dev:/dev 挂载系统内核和设备到容器,必须

-v /home:/root/data 挂载数据目录到容器,须为绝对路径,天数软件目录必须挂载到容器内部。可改为自己的目录,例如:-v <your host dir>:<your container dir>

-w /root 默认工作目录,后续使用时可更改

--privileged --cap-add=ALL 容器需要有系统权限

--pid=host 端口映射,可根据自己需求设置。此处为与host端口全映射

--name test 容器名

ubuntu:20.04 基础镜像,可改为需求版本,例如ubuntu:22.04

进入容器

docker exec -it test bash

三、在docker容器中安装Corex SDK

安装系统及依赖

apt-get update -y

apt-get install -y --fix-missing \
apt-utils \
sudo \
openssh-server \
vim \
git \
curl \
wget \
tree \
perl \
kmod \
make \
pciutils \
build-essential \
python3.8-dev \
python3-pip \
libjpeg-dev \
zlib1g-dev \
unzip \
cmake \
bzip2 \
cabextract \
iputils-ping \
pbzip2 \
pv \
numactl \
ninja-build \
gcc-7 \
g++-7 \
libncursesw5 \
coreutils \
libgl1 \
libssl-dev \
libffi-dev

第一个选项,选6亚洲

第二个选项,选70上海

依赖安装完成

安装kernel headers

apt-get install -y linux-headers-`uname -r`

设置默认gcc

update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 10 --slave /usr/bin/g++ g++ /usr/bin/g++-7

解压cuda-10.2 header并安装

解压

tar -zxf partial_install_cuda_header.tar.gz

安装

cd partial_install_cuda_header
bash install-cuda-header.sh

检查cuda10.2 header是否安装好

ll /usr/local/cuda-10.2/

安装corex installer

执行run包

bash corex-installer-linux64-4.1.2_x86_64_10.2.run

执行完成

设置环境变量

echo "export PATH=/usr/local/corex/bin:$PATH" >> ~/.bashrc
echo "export LD_LIBRARY_PATH=/usr/local/corex/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc

查看环境变量

env |grep PATH

安装完成

按需安装cmake

执行run包

bash cmake-3.25.2-corex.4.1.2-linux-x86_64.sh

mv cmake-3.25.2-corex.4.1.2-linux-x86_64 /usr/local/cmake
echo "export PATH=/usr/local/cmake/bin/:$PATH" >> ~/.bashrc
source ~/.bashrc

查看环境变量

env |grep PATH

查看默认cmake版本

cmake --version

安装miniconda3/miniforge3

下载miniconda3

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

安装

bash Miniconda3-latest-Linux-x86_64.sh

选默认进入miniconda环境

source ~/.bashrc

创建conda 虚拟环境

conda create -n torch python=3.10

安装天数提供的 python3 依赖,如pytorch

conda activate torch
pip install torch-2.1.1+corex.4.1.2-cp310-cp310-linux_x86_64.whl

检查torch

import torch
torch.cuda.is_available()

四、docker 容器打包镜像

docker commit -a "yan.rui" -m "this is test" test corex:ubuntu20.04-mr412

五、docker 镜像复用

# 启动容器
docker run -itd -v /usr/src:/usr/src -v /lib/modules:/lib/modules -v /dev:/dev -v /home:/root/data -w /root --privileged --cap-add=ALL --pid=host --name corex-torch corex:ubuntu20.04-mr412
# 进入容器
docker exec -it corex-torch bash

六、常见问题

1. 问题:容器中ixsmi失效。解决办法:host上安装一下driver

a. 安装cuda-10.2 headers,方法同上

b. 安装driver

c. 设置环境变量

bash corex-driver-linux64-4.1.2_x86_64_10.2.run

echo "export PATH=/usr/local/corex-4.1.2//bin:$PATH" >> ~/.bashrc
echo "export LD_LIBRARY_PATH=/usr/local/corex-4.1.2//lib:$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc

笔记



 附件

附件类型

PNGPNG

  目录
    天数智芯知识库系统 -V 5.2.6 -wcp