相关注意点如下:
示例如下:
include_directories( directoryPath1 directoryPath2 )
link_directories( directoryPath3 directoryPath4 )
示例如下:
add_executable(main directoryPath5 directoryPath6)
示例如下:
target_link_libraries(main ascendcl libName1 libName2)
编译基于AscendCL接口的代码逻辑时,请按照引用的头文件,依赖对应的dll文件,引用多余的dll文件可能导致后续版本升级时存在兼容性问题。
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../../../out") install(TARGETS main DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
示例命令如下,其中,“../../../src”表示CMakeLists.txt文件所在的目录,请根据实际目录层级修改。
cmake ../../../src -DCMAKE_SKIP_RPATH=TRUE -G "Visual Studio 15 2017 Win64" cmake --build .
cmake ../../../src -DCMAKE_SKIP_RPATH=TRUE -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES=release cmake --build . --config release
当前样例的编码字符集为ASCII,编译命令默认都是ASCII编码字符集,不支持Unicode编码字符集,如需支持Unicode编码字符集,需用户自行适配代码。
关于cmake参数的详细介绍,请参见https://cmake.org/cmake/help/latest/guide/tutorial/index.html,选择对应的版本后再查看参数。
将AscendCL初始化配置文件(acl.json)所在的目录、可执行文件所在的目录、测试图片所在的目录、*.om文件所在的目录都上传到运行环境,以管理员身份登录运行环境,在cmd窗口中,切换到可执行文件main.exe所在的目录,运行可执行文件,示例命令如下:
main.exe
如果在AscendCL初始化阶段,在aclInit接口中传入空指针,则无需将AscendCL初始化配置文件(acl.json)所在的目录上传到运行环境。
如果运行应用出错,您可以参见问题定位进一步排查。