该用例整体分为五个部分:aclnn算子部分、ATB算子部分、model部分、基础设施部分、主函数。
atb-aclnn 示例工程 |-- CMakeLists.txt |-- README.md |-- aclnn --aclnn算子部分 | |-- aclnn_gelu_operation.cpp | |-- aclnn_gelu_operation.h --aclnn Gelu算子接入ATB的功能实现 | |-- aclnn_operation_base.cpp | |-- aclnn_operation_base.h --aclnn算子接入ATB的功能基类 |-- atb --atb算子部分 | |-- atb_graph_op.cpp | |-- atb_graph_op.h |-- build.sh --工程编译脚本 |-- main.cpp --主函数,即入口函数 |-- memory --基础设施中的内存池部分 | |-- memory_env.h | |-- memory_utils.cpp | |-- memory_utils.h | |-- memorypool.cpp | |-- memorypool.h |-- model --模型部分,包含ATB组图及ATB图算子调用相关逻辑 | |-- model.cpp | |-- model.h |-- utils --基础设施中的日志等部分 | |-- log.cpp | |-- log.h | |-- utils.cpp | |-- utils.h
cd ${用例所在目录}/atb-aclnn
source ${toolkit安装目录}/set_env.sh
source ${nnal安装目录}/atb/set_env.sh
bash ./build.sh
./build/test_model