InfiniTensor/docs/INSTALL_GUIDE_CN.md

6.3 KiB
Raw Permalink Blame History

安装部署指南

目录

环境准备

目前的软硬件环境支持矩阵

Host CPU Device OS Support
X86-64 Nvidia GPU Ubuntu-22.04 Yes
X86-64 Cambricon MLU Ubuntu-22.04 Yes

推荐使用 X86-64 机器以及 Ubuntu-22.04,本文以此环境为例。

  1. 确认 GCC 版本为 11.3 及以上的稳定版本,如若您的机器 GCC 版本不满足此条件,请自行编译安装,下述方式二选一:

  2. 确认 CMake 版本为 3.17 及以上的稳定版本, 如若您的机器 CMake 版本不满足此条件,请自行编译安装,下述方式二选一:

  3. 第三方加速卡软件资源安装,目前本项目已经适配了如下的第三方加速卡:

    • 如您的第三方加速卡为英伟达 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。

  4. 确认您安装了 makebuild-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
      
  5. 更新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
    
  6. 安装一些不必要的项目(可选)

    • 如您需要运行本项目下的 example 代码,您需要安装一些辅助项目。请注意这些项目不是必要的,若您不需要运行样例代码,这些项目无需安装。

      Pytorch:业界内流行的神经网络编程框架 ONNX:业界内流行的神经网络模型存储文件与转换器 onnxsim一个简化onnx模型的小工具 onnx2torch一个将onnx模型转换pytorch模型的小工具 tqdm:一个显示程序运行进度条的小工具

    • 如您需要使用本项目下的 InfiniTest 测试工具,你还需要安装如下的项目:

      protobuf 一种序列化文件的格式及其编译、序列化、解析工具

编译本项目

推荐使用 X86-64 机器以及 Ubuntu-22.04,本文以此环境为例。

  1. 配置环境

    打开 env.sh 文件进行环境变量配置,之后执行

    source env.sh
    
  2. 编译本项目并打包成 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
    
  3. 使用方法

    安装成功后,您就可以使用本项目的 Python 接口进行编码并运行。具体使用方式可以参考项目样例代码 example/Resnet/resnet.py 以及用户使用手册

技术支持

如遇到问题,请联系我们技术支持团队