文档
注册

应用开发环境准备

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

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

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

  • 部署运行环境后,才能在运行环境上执行Python代码文件。
    • pyACL库文件路径:CANN软件安装后文件存储路径/lib64

      需要根据运行环境的安装包,确定引用的组件目录,否则会导致运行报错。安装方案请参见CANN 软件安装指南

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

    • 本文中的操作步骤需以运行用户登录开发环境运行环境后再执行,请务必获取各组件的运行用户,以便后续操作时使用。
  • (可选)通过环境变量“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。
      # acl.rt.get_device_count接口获取到的可用Device数量为1,acl.rt.set_device(0)时,索引0对应的Device ID是1
      export ASCEND_RT_VISIBLE_DEVICES = 1      
    • 指定多个Device ID,以下两个均示例表示应用进程可使用Device ID为2、3、4的Device, Device ID的顺序可以任意设置,但顺序会影响Device ID的索引值。
      # acl.rt.get_device_count接口获取到的可用Device数量为3,acl.rt.set_device(0)时,索引0对应的Device ID是2
      export ASCEND_RT_VISIBLE_DEVICES = 2,3,4    

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

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

    export命令写入“~/.bashrc”文件的方法如下:

    1. 以安装用户在任意目录下执行vi ~/.bashrc,在该文件最后添加上述内容。
    2. 执行:wq!命令保存文件并退出。
    3. 执行source ~/.bashrc使环境变量生效。
  • (可选)通过环境变量“ASCEND_CACHE_PATH”“ASCEND_WORK_PATH”设置pyACL应用运行过程中产生的文件的落盘路径,涉及ATC模型转换、AOE模型智能调优、性能数据采集、日志采集等功能,落盘文件包括知识库文件、调优结果文件、性能数据文件、日志文件等。

    配置示例如下,详细配置说明请参见环境变量参考

    export ASCEND_CACHE_PATH=/repo/task001/cache
    export ASCEND_WORK_PATH=/repo/task001/172.16.1.12_01_03

pyACL的依赖

pyACL没有安装依赖,但是有运行依赖。详情请参见CANN 软件安装指南完成对开发环境和运行环境的部署。

安装后的环境变量设置

在安装完CANN软件包之后,请务必自行配置以下环境变量,否则,将无法正常使用“import acl”

  • 若环境中安装了cann-toolkit软件包:
    # 以root用户安装toolkit包。
    . /usr/local/Ascend/ascend-toolkit/set_env.sh 
    # 以非root用户安装toolkit包。
    . ${HOME}/Ascend/ascend-toolkit/set_env.sh 
  • 若环境中安装了cann-nnrt软件包:
    # 以root用户安装nnrt包。
    . /usr/local/Ascend/nnrt/set_env.sh
    # 以非root用户安装nnrt包。
    . ${HOME}/Ascend/nnrt/set_env.sh
  • 若环境中安装了cann-nnae软件包:
    # 以root用户安装nnae包。
    . /usr/local/Ascend/nnae/set_env.sh 
    # 以非root用户安装nnae包。
    . ${HOME}/Ascend/nnae/set_env.sh

设置完环境变量后,在Python脚本中加入“import acl”,就可以使用pyACL中的函数了。

其它

  • 关于日志的处理机制和日志级别设置等功能,请参见日志参考
  • pyACL部分功能可能会涉及到ATC工具来进行模型转换,请参见ATC工具使用指南
  • 生成pyACL中的“acl.so”依赖的Python版本范围为3.7.5~3.9.2。
搜索结果
找到“0”个结果

当前产品无相关内容

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