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.1 kB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  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. if(ENABLE_DUMP_IR)
  6. add_compile_definitions(ENABLE_DUMP_IR)
  7. endif(ENABLE_DUMP_IR)
  8. if(ENABLE_D)
  9. add_compile_definitions(ENABLE_D)
  10. endif()
  11. #add python lib and include for all ut executables;
  12. message("PYTHON_INCLUDE_DIRS = ${PYTHON_INCLUDE_DIRS}")
  13. message("PYTHON_LIBRARIES = ${PYTHON_LIBRARIES}")
  14. include_directories(${PYTHON_INCLUDE_DIRS})
  15. include_directories(${MS_CCSRC_PATH})
  16. include_directories(${CMAKE_SOURCE_DIR}/mindspore/core)
  17. include_directories(${CMAKE_CURRENT_SOURCE_DIR})
  18. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/stub/runtime/)
  19. include_directories(${CMAKE_BINARY_DIR})
  20. include_directories(${CUDA_INCLUDE_DIRS})
  21. MESSAGE("check ut_test ${CMAKE_BINARY_DIR}")
  22. link_directories(${MS_CCSRC_BUILD_PATH})
  23. if(ENABLE_MINDDATA)
  24. add_definitions(-D ENABLE_MINDDATA)
  25. link_directories(${MS_CCSRC_BUILD_PATH}/minddata/dataset)
  26. link_directories(${MS_CCSRC_BUILD_PATH}/minddata/mindrecord)
  27. endif()
  28. # fetch ut test files
  29. if(ENABLE_MINDDATA)
  30. include_directories(${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/kernels/image)
  31. file(GLOB_RECURSE UT_SRCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
  32. ./stub/*.cc
  33. ./common/*.cc
  34. ./abstract/*.cc
  35. ./base/*.cc
  36. ./dataset/*.cc
  37. ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/kernels/image/lite_cv/*.cc
  38. ./debug/*.cc
  39. ./device/*.cc
  40. ./ir/*.cc
  41. ./kernel/*.cc
  42. ./mindrecord/*.cc
  43. ./operator/*.cc
  44. ./optimizer/*.cc
  45. ./parallel/*.cc
  46. ./pipeline/*.cc
  47. ./pre_activate/*.cc
  48. ./pynative/*.cc
  49. ./session/*.cc
  50. ./transform/*.cc
  51. ./utils/*.cc
  52. ./vm/*.cc
  53. ./ps/*.cc
  54. ./cxx_api/*.cc
  55. )
  56. if(NOT ENABLE_PYTHON)
  57. set(PYTHON_RELATED_SRCS
  58. dataset/filter_op_test.cc
  59. dataset/voc_op_test.cc
  60. dataset/manifest_op_test.cc
  61. dataset/sentence_piece_vocab_op_test.cc
  62. )
  63. list(REMOVE_ITEM UT_SRCS ${PYTHON_RELATED_SRCS})
  64. endif()
  65. else()
  66. file(GLOB_RECURSE TEMP_UT_SRCS ./*.cc)
  67. foreach(OBJ ${TEMP_UT_SRCS})
  68. if (NOT ${OBJ} MATCHES "./dataset/" AND NOT ${OBJ} MATCHES "./mindrecord/")
  69. list(APPEND UT_SRCS ${OBJ})
  70. endif()
  71. endforeach ()
  72. endif()
  73. # serving ut
  74. add_subdirectory(serving)
  75. file(GLOB_RECURSE MINDSPORE_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
  76. "../../../mindspore/ccsrc/pybind_api/*.cc"
  77. "../../../mindspore/ccsrc/frontend/optimizer/*.cc"
  78. "../../../mindspore/ccsrc/frontend/parallel/*.cc"
  79. "../../../mindspore/ccsrc/frontend/operator/*.cc"
  80. # dont remove the 4 lines above
  81. "../../../mindspore/ccsrc/debug/data_dump/dump_json_parser.cc"
  82. "../../../mindspore/ccsrc/debug/common.cc"
  83. "../../../mindspore/ccsrc/runtime/device/ascend/profiling/profiling_manager.cc"
  84. "../../../mindspore/ccsrc/runtime/device/ascend/profiling/profiling_engine_impl.cc"
  85. "../../../mindspore/ccsrc/runtime/device/kernel_runtime.cc"
  86. "../../../mindspore/ccsrc/runtime/device/memory_manager.cc"
  87. "../../../mindspore/ccsrc/runtime/device/kernel_runtime_manager.cc"
  88. "../../../mindspore/ccsrc/runtime/device/kernel_info.cc"
  89. "../../../mindspore/ccsrc/runtime/device/ascend/profiling/*.cc"
  90. "../../../mindspore/ccsrc/runtime/device/ascend/kernel_select_ascend.cc"
  91. "../../../mindspore/ccsrc/runtime/device/ascend/kernel_select_graph_kernel.cc"
  92. "../../../mindspore/ccsrc/runtime/device/convert_tensor_utils.cc"
  93. "../../../mindspore/ccsrc/runtime/device/ascend/kernel_build_ascend.cc"
  94. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_kernel_runtime.cc"
  95. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_memory_manager.cc"
  96. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_device_address.cc"
  97. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_memory_pool.cc"
  98. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/cpu_kernel.cc"
  99. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/cpu_kernel_factory.cc"
  100. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/sparse_apply_adam_cpu_kernel.cc"
  101. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/sparse_apply_ftrl_cpu_kernel.cc"
  102. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/sparse_apply_lazy_adam_cpu_kernel.cc"
  103. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/sparse_apply_proximal_adagrad_cpu_kernel.cc"
  104. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/unique_cpu_kernel.cc"
  105. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/unique_with_pad_cpu_kernel.cc"
  106. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/adam_delta_cpu_kernel.cc"
  107. "../../../mindspore/ccsrc/backend/kernel_compiler/akg/*.cc"
  108. "../../../mindspore/ccsrc/backend/kernel_compiler/rts/*.cc"
  109. "../../../mindspore/ccsrc/backend/kernel_compiler/hccl/*.cc"
  110. "../../../mindspore/ccsrc/backend/kernel_compiler/kernel_query.cc"
  111. "../../../mindspore/ccsrc/backend/kernel_compiler/aicpu/aicpu_kernel_metadata.cc"
  112. "../../../mindspore/ccsrc/backend/kernel_compiler/rts/rt_kernel_info.cc"
  113. "../../../mindspore/ccsrc/backend/kernel_compiler/tbe/*.cc"
  114. "../../../mindspore/ccsrc/backend/optimizer/ascend/*.cc"
  115. "../../../mindspore/ccsrc/backend/optimizer/graph_kernel/*.cc"
  116. "../../../mindspore/ccsrc/backend/session/anf_runtime_algorithm.cc"
  117. "../../../mindspore/ccsrc/backend/session/ascend_session.cc"
  118. "../../../mindspore/ccsrc/backend/session/ascend_control_parser.cc"
  119. "../../../mindspore/ccsrc/backend/session/kernel_graph.cc"
  120. "../../../mindspore/ccsrc/backend/session/session_basic.cc"
  121. "../../../mindspore/ccsrc/backend/session/executor.cc"
  122. "../../../mindspore/ccsrc/backend/session/executor_manager.cc"
  123. "../../../mindspore/ccsrc/backend/session/session_factory.cc"
  124. "../../../mindspore/ccsrc/backend/session/kernel_build_client.cc"
  125. "../../../mindspore/ccsrc/transform/graph_ir/*.cc"
  126. "../../../mindspore/ccsrc/transform/graph_ir/op_declare/*.cc"
  127. "../../../mindspore/ccsrc/ps/*.cc"
  128. )
  129. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/frontend/parallel/strategy_checkpoint/parallel_strategy_checkpoint.cc")
  130. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/ps/util.cc")
  131. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/ps/scheduler.cc")
  132. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/ps/optimizer_info.cc")
  133. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/ps/optimizer_info_builder.cc")
  134. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/backend/optimizer/gpu/batch_norm_add_relu_fusion.cc")
  135. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/backend/optimizer/gpu/batch_norm_add_relu_grad_fusion.cc")
  136. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/backend/optimizer/gpu/batch_norm_relu_fusion.cc")
  137. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/backend/optimizer/gpu/batch_norm_relu_grad_fusion.cc")
  138. add_library(_ut_mindspore_obj OBJECT ${MINDSPORE_SRC_LIST})
  139. add_library(_ut_ut_obj OBJECT ${UT_SRCS})
  140. add_dependencies(_ut_ut_obj engine-cache-server)
  141. add_executable(ut_tests $<TARGET_OBJECTS:_ut_ut_obj>
  142. $<TARGET_OBJECTS:_ut_mindspore_obj>
  143. $<TARGET_OBJECTS:_ut_serving_obj>)
  144. if (ENABLE_GE)
  145. if(ENABLE_TRAIN)
  146. target_link_libraries(ut_tests PRIVATE graph ge_runner)
  147. else()
  148. target_link_libraries(ut_tests PRIVATE graph ge_client)
  149. endif()
  150. target_link_libraries(mindspore PRIVATE tsdclient)
  151. endif()
  152. if (CMAKE_SYSTEM_NAME MATCHES "Linux")
  153. target_link_libraries(ut_tests PRIVATE mindspore::gtest mindspore::event mindspore::event_pthreads mindspore_gvar ${PYTHON_LIBRARIES} pthread util dl)
  154. if (ENABLE_MINDDATA)
  155. # AUX_SOURCE_DIRECTORY(LITE_CV_FILES)
  156. # message(STATUS "xxxxxxxxxxxxxxxxx"${LITE_CV_FILES} )
  157. # add_library(_live_cv OBJECT ${LITE_CV_FILES})
  158. target_link_libraries(ut_tests PRIVATE _c_dataengine _c_mindrecord)
  159. endif()
  160. else()
  161. target_link_libraries(ut_tests PRIVATE mindspore::gtest mindspore_gvar ${PYTHON_LIBRARIES})
  162. endif()
  163. if (USE_GLOG)
  164. target_link_libraries(ut_tests PRIVATE mindspore::glog)
  165. endif()
  166. target_link_libraries(ut_tests PRIVATE mindspore mindspore_shared_lib securec graph)
  167. # link grpc
  168. if (EXISTS ${grpc_ROOT}/lib64)
  169. set(gRPC_DIR "${grpc_ROOT}/lib64/cmake/grpc")
  170. else ()
  171. set(gRPC_DIR "${grpc_ROOT}/lib/cmake/grpc")
  172. endif ()
  173. find_package(gRPC CONFIG REQUIRED)
  174. target_link_libraries(ut_tests PRIVATE gRPC::grpc++)
  175. target_link_libraries(ut_tests PRIVATE gRPC::grpc++_reflection)
  176. target_link_libraries(ut_tests PRIVATE protobuf::libprotobuf)