目前的软硬件环境支持矩阵
Host CPU | Device | OS | Support |
---|---|---|---|
X86-64 | Nvidia GPU | Ubuntu-22.04 | Yes |
X86-64 | Cambricon MLU | Ubuntu-22.04 | Yes |
arm64 | Ascend NPU | OpenEuler-22.03 | Yes |
推荐使用 X86-64 机器以及 Ubuntu-22.04,本文以此环境为例。
-
确认 GCC 版本为 11.3 及以上的稳定版本,如若您的机器 GCC 版本不满足此条件,请自行编译安装,下述方式二选一:
-
确认 CMake 版本为 3.17 及以上的稳定版本, 如若您的机器 CMake 版本不满足此条件,请自行编译安装,下述方式二选一:
-
第三方加速卡软件资源安装,目前本项目已经适配了如下的第三方加速卡:
-
如您的第三方加速卡为英伟达 GPU,请参考英伟达官方文档进行:
驱动安装, CUDA Toolkit 安装, Cudnn 安装, Cublas 安装, 安装完成后请进行相应的环境变量配置,将可执行文件目录与库目录添加到操作系统识别的路径中,例如
# 将如下内容写入到你的 bashrc 文件并 source 该文件 export CUDA_HOME="/PATH/TO/YOUR/CUDA_HOME" export CUDNN_HOME="/PATH/TO/YOUR/CUDNN_HOME" export PATH="${CUDA_HOME}/bin:${PATH}" export LD_LIBRARY_PATH="${CUDA_HOME}/lib64:${LD_LIBRARY_PATH}" # 如您不方便将上述环境变量配置到 bashrc 文件中进行长期使用,你也可以在我们提供的 env.sh 文件中进行正确配置并激活,作为临时使用 source env.sh
我们强烈建议您规范安装,统一到一个目录下,以免不必要的麻烦。
-
如您的第三方加速卡为寒武纪 MLU,请参考寒武纪官方文档进行:
驱动安装, CNToolkit 安装, CNNL 安装, 安装完成后请进行相应的环境变量配置,将可执行文件目录与库目录添加到操作系统识别的路径中,例如
# 将如下内容写入到你的 bashrc 文件并 source 该文件 export NEUWARE_HOME="/usr/local/neuware" export PATH="${NEUWARE_HOME}/bin:${PATH}" export LD_LIBRARY_PATH="${NEUWARE_HOME}/lib64:${LD_LIBRARY_PATH}" # 如您不方便将上述环境变量配置到 bashrc 文件中进行长期使用,你也可以在我们提供的 env.sh 文件中进行正确配置并激活,作为临时使用 source env.sh
我们强烈建议您规范安装,统一到一个目录下,以免不必要的麻烦。另外请注意,由于 MLU 上层软件建设适配程度有限,如您在其覆盖的机器,操作系统之外运行,需要在安装驱动之后使用上层软件的 Docker。
-
如您的第三方加速卡为昇腾 NPU,请参考昇腾官方文档进行:
驱动及CANN安装 安装完成后请进行相应的环境变量配置,将可执行文件目录与库目录添加到操作系统识别的路径中,例如
# 将如下内容写入到你的 bashrc 文件并 source 该文件 export ASCEND_HOME=/usr/local/Ascend/ascend-toolkit/latest source /usr/local/Ascend/ascend-toolkit/set_env.sh # 如您不方便将上述环境变量配置到 bashrc 文件中进行长期使用,你也可以在我们提供的 env.sh 文件中进行正确配置并激活,作为临时使用 source env.sh
我们强烈建议您规范安装,统一到一个目录下,以免不必要的麻烦。
-
-
确认您安装了 make,build-essential, python-is-python3, python-dev-is-python3, python3-pip, libdw-dev,如您的机器没有上述基础依赖,请自行按需安装。
-
在使用 apt-get 工具情况下,您可以这样执行
sudo apt-get install make cmake build-essential python-is-python3 python-dev-is-python3 python3-pip libdw-dev
-
-
更新pip并切换到清华源
python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
-
安装一些不必要的项目(可选)
推荐使用 X86-64 机器以及 Ubuntu-22.04,本文以此环境为例。
-
配置环境
打开 env.sh 文件进行环境变量配置,之后执行
source env.sh
-
编译本项目并打包成 Python 库进行安装
我们提供了意见编译参数,您可以在项目根目录下执行下面的命令。第一次执行会同时安装 python 依赖库,耗时略长,请耐心等待。
仅编译 CPU 部分,不编译第三方计算卡:
make install-python
编译 CPU 部分,同时编译英伟达 GPU 部分:
export CUDA_HOME=/path/to/your/cuda_home make install-python CUDA=ON
编译 CPU 部分,同时编译寒武纪 MLU 部分:
export NEUWARE_HOME=/path/to/your/neuware_home make install-python BANG=ON
编译 CPU 部分,同时编译昆仑 XPU 部分:
export KUNLUN_HOME=/path/to/your/kunlun_home make install-python KUNLUN=ON
编译 CPU 部分,同时编译昇腾 NPU 部分:
export ASCEND_HOME=/path/to/your/ascend_home make install-python ASCEND=ON
-
使用方法
安装成功后,您就可以使用本项目的 Python 接口进行编码并运行。具体使用方式可以参考项目样例代码 example/Resnet/resnet.py 以及用户使用手册
本项目也提供了 Docker 的环境,您可以使用 make docker-build
或 make docker-build CUDA=ON
命令启动并编译 Dockerfile,您可以通过添加编译选项或者修改 Makefile 变量修改 docker image 名称或者所选的 Dockerfile 文件。
由于在拉取 github repo 时需要将 ssh key 加入到 github profile 中,因此暂时注释掉拉取 repo 并编译项目的过程,由用户在进入 docker 后自己维护 ssh key(将 host 中的 ssh key 复制到 docker 中可能会遇到环境不一致的问题)。
# Build docker container.
make docker-build
# Run docker image.
make docker-run
# Execute docker image.
make docker-exec
如果需要编译 CUDA 版,请使用如下命令:
# Build docker container.
make docker-build CUDA=ON
# Run docker image.
make docker-run CUDA=ON
如遇到问题,请联系我们技术支持团队