算子调用示例

用例整体介绍

本用例为ATB单算子示例。

该用例整体包括:

目录结构介绍

atb-linear-demo 示例工程
|-- demo_util.h
|-- linear_demo.cpp

Linear算子调用示例

用例运行

  1. 调用前需设置ascend-toolkit、atb环境变量:

    1
    2
    source ${toolkit安装目录}/set_env.sh # 如source /usr/local/Ascend/ascend-toolkit/set_env.sh
    source ${nnal安装目录}/atb/set_env.sh # 如source /usr/local/Ascend/nnal/atb/set_env.sh
    

  2. 按以下步骤编译:

    1
    g++ -I "${ATB_HOME_PATH}/include" -I "${ASCEND_HOME_PATH}/include" -L "${ATB_HOME_PATH}/lib" -L "${ASCEND_HOME_PATH}/lib64" xxxx.cpp demo_util.h -l atb -l ascendcl -o xxxx
    

  3. 执行用例:

    ./xxxx

  • 使用hccl算子时,需要额外增加编译选项:-D_GLIBCXX_USE_CXX11_ABI=0。
  • 使用反向等训练算子时,需要动态链接:"${ATB_HOME_PATH}/lib/libatb_train.so",即更新编译命令为:
    g++ ... demo_util.h "${ATB_HOME_PATH}/lib/libatb_train.so" ...