File size: 2,953 Bytes
0db70ac |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
cmake_minimum_required(VERSION 3.5) project(app VERSION 1.0.0 LANGUAGES C CXX) set(RYZEN_AI_INSTALLATION_PATH $ENV{RYZEN_AI_INSTALLATION_PATH}) set(ONNXRUNTIME_ROOTDIR "${RYZEN_AI_INSTALLATION_PATH}/onnxruntime") set(PYTHONHOME "$ENV{CONDA_PREFIX}") message(STATUS "RYZEN_AI_INSTALLATION_PATH = ${RYZEN_AI_INSTALLATION_PATH}") message(STATUS "ONNXRUNTIME_ROOTDIR = ${ONNXRUNTIME_ROOTDIR}") message(STATUS "PYTHONHOME = ${PYTHONHOME}") set(CMAKE_CONFIGURATION_TYPES Release) set(CMAKE_CXX_STANDARD 17) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_INSTALL_PREFIX .) set(CMAKE_PREFIX_PATH .) set(BUILD_SHARED_LIBS OFF) add_compile_options( /Zc:__cplusplus /wd4100 /wd4996 /WX /std:c++latest ) include_directories( "${ONNXRUNTIME_ROOTDIR}/include/onnxruntime/core/session" src ) add_compile_options( /Qspectre /ZH:SHA_256 /guard:cf /W3 /Zi /Zc:__cplusplus ) add_link_options( /CETCOMPAT /DEBUG ) link_directories("${ONNXRUNTIME_ROOTDIR}/lib") link_directories("${CMAKE_INSTALL_PREFIX}/lib") add_executable(${PROJECT_NAME} src/main.cpp src/npu_util.cpp) target_link_libraries(${PROJECT_NAME} onnxruntime) # -- Copy the RyzenAI runtime DLLs in folder containing the executable list(APPEND dll_list "${RYZEN_AI_INSTALLATION_PATH}/deployment/voe/dyn_dispatch_core.dll") list(APPEND dll_list "${RYZEN_AI_INSTALLATION_PATH}/deployment/voe/onnxruntime.dll") list(APPEND dll_list "${RYZEN_AI_INSTALLATION_PATH}/deployment/voe/onnxruntime_providers_shared.dll") list(APPEND dll_list "${RYZEN_AI_INSTALLATION_PATH}/deployment/voe/onnxruntime_providers_vitisai.dll") list(APPEND dll_list "${RYZEN_AI_INSTALLATION_PATH}/deployment/voe/onnxruntime_vitisai_ep.dll") list(APPEND dll_list "${RYZEN_AI_INSTALLATION_PATH}/deployment/voe/transaction.dll") list(APPEND dll_list "${RYZEN_AI_INSTALLATION_PATH}/deployment/voe/xclbin.dll") foreach(DLL_FILE ${dll_list}) add_custom_command( TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${DLL_FILE} $<TARGET_FILE_DIR:${PROJECT_NAME}> ) endforeach() add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${RYZEN_AI_INSTALLATION_PATH}/quicktest/test_model.onnx" $<TARGET_FILE_DIR:${PROJECT_NAME}> ) add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${RYZEN_AI_INSTALLATION_PATH}/voe-4.0-win_amd64/xclbins/phoenix/1x4.xclbin" $<TARGET_FILE_DIR:${PROJECT_NAME}>/xclbins/phoenix/1x4.xclbin ) add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${RYZEN_AI_INSTALLATION_PATH}/voe-4.0-win_amd64/xclbins/strix/AMD_AIE2P_Nx4_Overlay.xclbin" $<TARGET_FILE_DIR:${PROJECT_NAME}>/xclbins/strix/AMD_AIE2P_Nx4_Overlay.xclbin ) |