You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

CMakeLists.txt 9.2 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. message("build ut testcases...")
  2. # virtual project for common include and library file path.
  3. project(ut)
  4. set(PROJECT_DIR "${PROJECT_SOURCE_DIR}/../../..")
  5. add_compile_definitions(ENABLE_DUMP_E2E)
  6. if(ENABLE_DUMP_IR)
  7. add_compile_definitions(ENABLE_DUMP_IR)
  8. endif(ENABLE_DUMP_IR)
  9. if(ENABLE_D)
  10. add_compile_definitions(ENABLE_D)
  11. endif()
  12. #add python lib and include for all ut executables;
  13. message("PYTHON_INCLUDE_DIRS = ${PYTHON_INCLUDE_DIRS}")
  14. message("PYTHON_LIBRARIES = ${PYTHON_LIBRARIES}")
  15. include_directories(${PYTHON_INCLUDE_DIRS})
  16. include_directories(${MS_CCSRC_PATH})
  17. include_directories(${CMAKE_SOURCE_DIR}/mindspore/core)
  18. include_directories(${CMAKE_CURRENT_SOURCE_DIR})
  19. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/stub/runtime/)
  20. include_directories(${CMAKE_BINARY_DIR})
  21. include_directories(${CUDA_INCLUDE_DIRS})
  22. MESSAGE("check ut_test ${CMAKE_BINARY_DIR}")
  23. link_directories(${MS_CCSRC_BUILD_PATH})
  24. if(ENABLE_MINDDATA)
  25. add_definitions(-D ENABLE_MINDDATA)
  26. link_directories(${MS_CCSRC_BUILD_PATH}/minddata/dataset)
  27. link_directories(${MS_CCSRC_BUILD_PATH}/minddata/mindrecord)
  28. endif()
  29. # fetch ut test files
  30. if(ENABLE_MINDDATA)
  31. file(GLOB_RECURSE UT_SRCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ./*.cc)
  32. if(NOT ENABLE_PYTHON)
  33. set(PYTHON_RELATED_SRCS
  34. dataset/filter_op_test.cc
  35. dataset/voc_op_test.cc
  36. dataset/manifest_op_test.cc
  37. )
  38. list(REMOVE_ITEM UT_SRCS ${PYTHON_RELATED_SRCS})
  39. endif()
  40. else()
  41. file(GLOB_RECURSE TEMP_UT_SRCS ./*.cc)
  42. foreach(OBJ ${TEMP_UT_SRCS})
  43. if (NOT ${OBJ} MATCHES "./dataset/" AND NOT ${OBJ} MATCHES "./mindrecord/")
  44. list(APPEND UT_SRCS ${OBJ})
  45. endif()
  46. endforeach ()
  47. endif()
  48. file(GLOB_RECURSE MINDSPORE_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
  49. "../../../mindspore/core/base/*.cc"
  50. "../../../mindspore/core/abstract/*.cc"
  51. "../../../mindspore/core/ir/*.cc"
  52. "../../../mindspore/ccsrc/common/*.cc"
  53. "../../../mindspore/ccsrc/utils/*.cc"
  54. "../../../mindspore/ccsrc/pipeline/jit/parse/*.cc"
  55. "../../../mindspore/ccsrc/pipeline/jit/static_analysis/*.cc"
  56. "../../../mindspore/ccsrc/pipeline/jit/pipeline.cc"
  57. "../../../mindspore/ccsrc/pipeline/jit/resource.cc"
  58. "../../../mindspore/ccsrc/pipeline/jit/pass.cc"
  59. "../../../mindspore/ccsrc/pipeline/jit/action.cc"
  60. "../../../mindspore/ccsrc/pipeline/jit/validator.cc"
  61. "../../../mindspore/ccsrc/pipeline/jit/remove_value_node_dup.cc"
  62. "../../../mindspore/ccsrc/frontend/optimizer/*.cc"
  63. "../../../mindspore/ccsrc/frontend/parallel/*.cc"
  64. "../../../mindspore/ccsrc/debug/*.cc"
  65. "../../../mindspore/ccsrc/frontend/operator/*.cc"
  66. "../../../mindspore/ccsrc/transform/graph_ir/*.cc"
  67. "../../../mindspore/ccsrc/backend/session/anf_runtime_algorithm.cc"
  68. "../../../mindspore/ccsrc/backend/session/ascend_session.cc"
  69. "../../../mindspore/ccsrc/backend/session/ascend_control_parser.cc"
  70. "../../../mindspore/ccsrc/backend/session/kernel_graph.cc"
  71. "../../../mindspore/ccsrc/backend/session/session_basic.cc"
  72. "../../../mindspore/ccsrc/backend/session/session_factory.cc"
  73. "../../../mindspore/ccsrc/vm/*.cc"
  74. "../../../mindspore/ccsrc/pipeline/pynative/*.cc"
  75. "../../../mindspore/ccsrc/pybind_api/*.cc"
  76. "../../../mindspore/ccsrc/backend/kernel_compiler/akg/*.cc"
  77. "../../../mindspore/ccsrc/backend/kernel_compiler/kash/*.cc"
  78. "../../../mindspore/ccsrc/backend/kernel_compiler/rts/*.cc"
  79. "../../../mindspore/ccsrc/backend/kernel_compiler/hccl/*.cc"
  80. "../../../mindspore/ccsrc/backend/kernel_compiler/kernel_query.cc"
  81. "../../../mindspore/ccsrc/backend/kernel_compiler/kernel_build_info.cc"
  82. "../../../mindspore/ccsrc/backend/optimizer/ascend/*.cc"
  83. "../../../mindspore/ccsrc/backend/optimizer/common/*.cc"
  84. "../../../mindspore/ccsrc/backend/optimizer/gpu/*.cc"
  85. "../../../mindspore/ccsrc/backend/optimizer/mem_reuse/*.cc"
  86. "../../../mindspore/ccsrc/backend/optimizer/pass/*.cc"
  87. "../../../mindspore/ccsrc/backend/kernel_compiler/aicpu/aicpu_kernel_metadata.cc"
  88. "../../../mindspore/ccsrc/backend/kernel_compiler/rts/rt_kernel_info.cc"
  89. "../../../mindspore/ccsrc/backend/kernel_compiler/common_utils.cc"
  90. "../../../mindspore/ccsrc/backend/kernel_compiler/oplib/*.cc"
  91. "../../../mindspore/ccsrc/backend/kernel_compiler/tbe/*.cc"
  92. "../../../mindspore/ccsrc/runtime/device/kernel_runtime.cc"
  93. "../../../mindspore/ccsrc/runtime/device/memory_manager.cc"
  94. "../../../mindspore/ccsrc/runtime/device/kernel_runtime_manager.cc"
  95. "../../../mindspore/ccsrc/runtime/device/kernel_info.cc"
  96. "../../../mindspore/ccsrc/runtime/device/ascend/profiling/*.cc"
  97. "../../../mindspore/ccsrc/runtime/device/ascend/kernel_select_ascend.cc"
  98. "../../../mindspore/ccsrc/runtime/device/ascend/kernel_select_graph_kernel.cc"
  99. "../../../mindspore/ccsrc/runtime/device/convert_tensor_utils.cc"
  100. "../../../mindspore/ccsrc/runtime/device/ascend/kernel_build_ascend.cc"
  101. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_kernel_runtime.cc"
  102. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_memory_manager.cc"
  103. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_device_address.cc"
  104. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_memory_pool.cc"
  105. "../../../mindspore/ccsrc/predict/generator/utils/ir_model_util.cc"
  106. "../../../mindspore/ccsrc/predict/predict.cc"
  107. "../../../mindspore/ccsrc/predict/converter/*.cc"
  108. "../../../mindspore/ccsrc/predict/converter/attr_utils/*.cc"
  109. "../../../mindspore/ccsrc/predict/converter/lite_model/*.cc"
  110. "../../../mindspore/ccsrc/predict/converter/lite_model/operations/*.cc"
  111. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/cpu_kernel.cc"
  112. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/cpu_kernel_factory.cc"
  113. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/sparse_apply_adam_cpu_kernel.cc"
  114. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/sparse_apply_ftrl_cpu_kernel.cc"
  115. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/sparse_apply_lazy_adam_cpu_kernel.cc"
  116. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/sparse_apply_proximal_adagrad_cpu_kernel.cc"
  117. )
  118. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/debug/dump_proto.cc")
  119. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/core/ir/lite/tensor.cc")
  120. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/frontend/parallel/strategy_checkpoint/parallel_strategy_checkpoint.cc")
  121. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/frontend/parallel/ps/util.cc")
  122. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/frontend/parallel/ps/scheduler.cc")
  123. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/frontend/parallel/ps/optimizer_info.cc")
  124. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/frontend/parallel/ps/optimizer_info_builder.cc")
  125. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/utils/anf_ir.pb.cc")
  126. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/utils/node_strategy.pb.cc")
  127. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/utils/load_onnx/anf_model_parser.cc")
  128. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/utils/load_onnx/anf_converter.cc")
  129. # remove files for debugger
  130. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/debug/debugger/debugger.cc")
  131. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/debug/debugger/grpc_client.cc")
  132. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/debug/debug_services.cc")
  133. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/debug/debugger/proto_exporter.cc")
  134. file(GLOB_RECURSE UT_SUTB_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
  135. "stub/aicpu/*.cc"
  136. "stub/cce/*.cc"
  137. "stub/tdt/*.cc"
  138. "stub/tasksink/*.cc"
  139. "stub/device/*.cc"
  140. "stub/kernel/*.cc"
  141. "stub/runtime/*.cc"
  142. "stub/anf_ir/*.cc"
  143. "stub/profiling/*.cc"
  144. "stub/parallel_strategy_checkpoint/*.cc"
  145. "stub/hccl/*.cc"
  146. "stub/ge/*.cc"
  147. )
  148. add_executable(ut_tests ${UT_SRCS} ${MINDSPORE_SRC_LIST} ${UT_SUTB_SRC_LIST})
  149. if (ENABLE_GE)
  150. if(ENABLE_TRAIN)
  151. target_link_libraries(ut_tests PRIVATE graph ge_runner)
  152. else()
  153. target_link_libraries(ut_tests PRIVATE graph ge_client)
  154. endif()
  155. target_link_libraries(mindspore PRIVATE tsdclient)
  156. endif()
  157. if (CMAKE_SYSTEM_NAME MATCHES "Linux")
  158. target_link_libraries(ut_tests PRIVATE mindspore::gtest mindspore_gvar ${PYTHON_LIBRARIES} pthread util dl)
  159. if (ENABLE_MINDDATA)
  160. target_link_libraries(ut_tests PRIVATE _c_dataengine _c_mindrecord)
  161. endif()
  162. else()
  163. target_link_libraries(ut_tests PRIVATE mindspore::gtest mindspore_gvar ${PYTHON_LIBRARIES})
  164. endif()
  165. if (USE_GLOG)
  166. target_link_libraries(ut_tests PRIVATE mindspore::glog)
  167. endif()
  168. target_link_libraries(ut_tests PRIVATE securec graph)