文档
注册

准备开发和运行环境

部署开发环境运行环境,请参见CANN 软件安装指南对应Atlas产品的描述。

  • 部署开发环境后,才能获取调用接口所需的头文件、编译运行接口所需的库文件。

    对于昇腾设备,已安装驱动、固件场景下,该环境可直接作为运行环境,执行编译生成的应用可执行文件。

  • 部署运行环境后,才能在运行环境上执行编译生成的应用可执行文件。
    • 需要根据运行环境的安装包,确定引用的组件目录,否则会导致运行报错。安装方案请参见CANN 软件安装指南

      安装CANN软件后,使用CANN运行用户编译、运行时,需要以CANN运行用户登录环境,执行source ${install_path}/set_env.sh命令设置环境变量,其中${install_path}为CANN软件的安装目录。

      • 运行环境安装nnrt包,则开发过程中引用对应AscendCL目录。
        • 头文件路径:CANN软件安装后文件存储路径/nnrt/latest/include/acl
        • 库文件路径:CANN软件安装后文件存储路径/nnrt/latest/lib64
      • 运行环境安装nnae包,则开发过程中引用对应AscendCL目录。
        • 头文件路径:CANN软件安装后文件存储路径/nnae/latest/include/acl
        • 库文件路径:CANN软件安装后文件存储路径/nnae/latest/lib64
    • 本文中的操作步骤(包括模型转换、编译代码、运行应用等)需以运行用户登录开发环境运行环境后再执行,请务必获取各组件的运行用户,以便后续操作时使用。
  • (可选)通过环境变量ASCEND_RT_VISIBLE_DEVICES设置Device ID,指定应用进程可用的Device。支持一次指定一个或多个Device ID。通过设置该环境变量,可以实现不修改应用程序、但调整Device的功能。

    示例场景:例如板端环境上的可用Device数量为8,Device ID分别为:0、1、2、3、4、5、6、7。

    • 指定一个Device ID,示例表示应用进程可使用Device ID为1的Device
      # aclrtGetDeviceCount接口获取到的可用Device数量为1,aclrtSetDevice(0)时,索引0对应的Device ID是1
      export ASCEND_RT_VISIBLE_DEVICES=1      
    • 指定多个Device ID,以下两个均示例表示应用进程可使用Device ID为2,3,4的Device, Device ID的顺序可以任意设置,但顺序会影响Device ID的索引值。
      # aclrtGetDeviceCount接口获取到的可用Device数量为3,aclrtSetDevice(0)时,索引0对应的Device ID是2
      export ASCEND_RT_VISIBLE_DEVICES=2,3,4    
      # aclrtGetDeviceCount接口获取到的可用Device数量为3,aclrtSetDevice(0)时,索引0对应的Device ID是4
      export ASCEND_RT_VISIBLE_DEVICES=4,3,2    
    • 指定多个Device ID,但出现无效值时,则仅无效值之前的Device可用。示例中仅2和3可用。
      # aclrtGetDeviceCount接口获取到的可用Device数量为2,aclrtSetDevice(0)时,索引0对应的Device ID是2
      export ASCEND_RT_VISIBLE_DEVICES=2,3,-1,5

    通过export命令,设置环境变量只在当前终端窗口生效,且只对设置环境变量之后启动的昇腾AI应用进程生效。

    若将export命令写入~/.bashrc文件,使环境变量永久生效,则环境变量对该用户下的所有昇腾AI应用进程都生效。这种方式,可能会影响其它不需要调整Device ID的应用进程,请谨慎使用。将export命令写入~/.bashrc文件的方法如下:

    1. 以安装用户在任意目录下执行vi ~/.bashrc,在该文件最后添加上述内容。
    2. 执行:wq!命令保存文件并退出。
    3. 执行source ~/.bashrc使环境变量生效。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词