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 14 kB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  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()
  8. if(ENABLE_D)
  9. add_compile_definitions(ENABLE_D)
  10. endif()
  11. if(NOT ENABLE_GLIBCXX)
  12. add_compile_definitions(_GLIBCXX_USE_CXX11_ABI=0)
  13. endif()
  14. file(STRINGS "${CMAKE_SOURCE_DIR}/version.txt" MSVERSION)
  15. add_definitions(-DMSVERSION=\"${MSVERSION}\")
  16. #add python lib and include for all ut executables;
  17. message("PYTHON_INCLUDE_DIRS = ${PYTHON_INCLUDE_DIRS}")
  18. message("PYTHON_LIBRARIES = ${PYTHON_LIBRARIES}")
  19. include_directories(${PYTHON_INCLUDE_DIRS})
  20. include_directories(${MS_CCSRC_PATH})
  21. include_directories(${CMAKE_SOURCE_DIR}/mindspore/core)
  22. include_directories(${CMAKE_SOURCE_DIR}/mindspore/core/mindrt/include)
  23. include_directories(${CMAKE_SOURCE_DIR}/mindspore/core/mindrt/src)
  24. include_directories(${CMAKE_CURRENT_SOURCE_DIR})
  25. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/stub/runtime/)
  26. include_directories(${CMAKE_BINARY_DIR})
  27. include_directories(${CMAKE_BINARY_DIR}/proto/graphengine_protos)
  28. include_directories(${CMAKE_BINARY_DIR}/proto/metadef_protos)
  29. include_directories(${CUDA_INCLUDE_DIRS})
  30. include_directories(${CMAKE_SOURCE_DIR}/mindspore/ccsrc/backend/kernel_compiler/cpu)
  31. MESSAGE("check ut_test ${CMAKE_BINARY_DIR}")
  32. link_directories(${MS_CCSRC_BUILD_PATH})
  33. if(ENABLE_MINDDATA)
  34. add_definitions(-D ENABLE_MINDDATA)
  35. link_directories(${MS_CCSRC_BUILD_PATH}/minddata/dataset)
  36. link_directories(${MS_CCSRC_BUILD_PATH}/minddata/mindrecord)
  37. endif()
  38. # fetch ut test files
  39. if(ENABLE_MINDDATA)
  40. include_directories(${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset)
  41. include_directories(${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/kernels/image)
  42. file(GLOB_RECURSE UT_SRCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
  43. ./stub/*.cc
  44. ./common/*.cc
  45. ./abstract/*.cc
  46. ./base/*.cc
  47. ./dataset/*.cc
  48. ./ir/dtype/*.cc
  49. ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/kernels/image/lite_cv/*.cc
  50. ./device/*.cc
  51. ./ir/*.cc
  52. ./kernel/*.cc
  53. ./mindrecord/*.cc
  54. ./operator/*.cc
  55. ./optimizer/*.cc
  56. ./parallel/*.cc
  57. ./pipeline/*.cc
  58. ./pre_activate/*.cc
  59. ./pynative/*.cc
  60. ./session/*.cc
  61. ./transform/*.cc
  62. ./utils/*.cc
  63. ./vm/*.cc
  64. ./ps/*.cc
  65. ./fl/*.cc
  66. ./distributed/persistent/*.cc
  67. ./cxx_api/*.cc
  68. ./tbe/*.cc
  69. ./mindapi/*.cc
  70. )
  71. if(NOT ENABLE_SECURITY)
  72. file(GLOB_RECURSE UT_SRCS_DEBUG RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
  73. ./debug/*.cc)
  74. list(APPEND UT_SRCS ${UT_SRCS_DEBUG})
  75. endif()
  76. if(NOT ENABLE_PYTHON)
  77. set(PYTHON_RELATED_SRCS
  78. dataset/filter_op_test.cc
  79. dataset/voc_op_test.cc
  80. dataset/manifest_op_test.cc
  81. dataset/sentence_piece_vocab_op_test.cc
  82. )
  83. list(REMOVE_ITEM UT_SRCS ${PYTHON_RELATED_SRCS})
  84. endif()
  85. if(NOT ENABLE_ACL)
  86. set(ASCEND310_RELATED_SRCS
  87. dataset/dvpp_decode_jpeg_test.cc
  88. )
  89. list(REMOVE_ITEM UT_SRCS ${ASCEND310_RELATED_SRCS})
  90. endif()
  91. else()
  92. file(GLOB_RECURSE TEMP_UT_SRCS ./*.cc)
  93. foreach(OBJ ${TEMP_UT_SRCS})
  94. if(NOT ${OBJ} MATCHES "./dataset/" AND NOT ${OBJ} MATCHES "./mindrecord/")
  95. list(APPEND UT_SRCS ${OBJ})
  96. endif()
  97. endforeach()
  98. endif()
  99. file(GLOB_RECURSE MINDSPORE_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
  100. "../../../mindspore/ccsrc/pybind_api/*.cc"
  101. "../../../mindspore/ccsrc/frontend/optimizer/*.cc"
  102. "../../../mindspore/ccsrc/frontend/parallel/*.cc"
  103. "../../../mindspore/ccsrc/frontend/operator/*.cc"
  104. # dont remove the 4 lines above
  105. "../../../mindspore/ccsrc/debug/data_dump/dump_json_parser.cc"
  106. "../../../mindspore/ccsrc/debug/common.cc"
  107. "../../../mindspore/ccsrc/runtime/hccl_adapter/all_to_all_v_calc_param.cc"
  108. "../../../mindspore/ccsrc/runtime/device/kernel_runtime.cc"
  109. "../../../mindspore/ccsrc/runtime/device/memory_manager.cc"
  110. "../../../mindspore/ccsrc/runtime/device/memory_scheduler.cc"
  111. "../../../mindspore/ccsrc/runtime/device/memory_offload_strategy.cc"
  112. "../../../mindspore/ccsrc/runtime/device/kernel_runtime_manager.cc"
  113. "../../../mindspore/ccsrc/runtime/device/kernel_info.cc"
  114. "../../../mindspore/ccsrc/runtime/device/bucket.cc"
  115. "../../../mindspore/ccsrc/runtime/device/launch_kernel.cc"
  116. "../../../mindspore/ccsrc/runtime/device/ascend/profiling/*.cc"
  117. "../../../mindspore/ccsrc/runtime/device/ascend/ge_runtime/*.cc"
  118. "../../../mindspore/ccsrc/runtime/device/ascend/kernel_select_ascend.cc"
  119. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_launch_kernel.cc"
  120. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_launch_mul.cc"
  121. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_launch_atomic_clean.cc"
  122. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_launch_transdata.cc"
  123. "../../../mindspore/ccsrc/runtime/device/ascend/kernel_select_graph_kernel.cc"
  124. "../../../mindspore/ccsrc/runtime/device/convert_tensor_utils.cc"
  125. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_bucket.cc"
  126. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_event.cc"
  127. "../../../mindspore/ccsrc/runtime/device/ascend/kernel_build_ascend.cc"
  128. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_kernel_runtime.cc"
  129. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_memory_adapter.cc"
  130. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_memory_manager.cc"
  131. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_device_address.cc"
  132. "../../../mindspore/ccsrc/runtime/device/ascend/ascend_memory_pool.cc"
  133. "../../../mindspore/ccsrc/runtime/device/ascend/lic_manager.cc"
  134. "../../../mindspore/ccsrc/runtime/hardware/ascend/ascend_device_context.cc"
  135. "../../../mindspore/ccsrc/runtime/hardware/ascend/ascend_graph_optimization.cc"
  136. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/cpu_kernel.cc"
  137. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/cpu_kernel_factory.cc"
  138. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/sparse_apply_adam_cpu_kernel.cc"
  139. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/sparse_apply_ftrl_cpu_kernel.cc"
  140. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/sparse_apply_lazy_adam_cpu_kernel.cc"
  141. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/sparse_apply_proximal_adagrad_cpu_kernel.cc"
  142. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/unique_cpu_kernel.cc"
  143. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/unique_with_pad_cpu_kernel.cc"
  144. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/adam_delta_cpu_kernel.cc"
  145. "../../../mindspore/ccsrc/backend/kernel_compiler/akg/*.cc"
  146. "../../../mindspore/ccsrc/backend/kernel_compiler/rts/*.cc"
  147. "../../../mindspore/ccsrc/backend/kernel_compiler/hccl/*.cc"
  148. "../../../mindspore/ccsrc/backend/kernel_compiler/kernel_query.cc"
  149. "../../../mindspore/ccsrc/backend/kernel_compiler/aicpu/aicpu_kernel_metadata.cc"
  150. "../../../mindspore/ccsrc/backend/kernel_compiler/rts/rt_kernel_info.cc"
  151. "../../../mindspore/ccsrc/backend/kernel_compiler/tbe/*.cc"
  152. "../../../mindspore/ccsrc/backend/optimizer/ascend/*.cc"
  153. "../../../mindspore/ccsrc/backend/optimizer/graph_kernel/*.cc"
  154. "../../../mindspore/ccsrc/backend/session/anf_runtime_algorithm.cc"
  155. "../../../mindspore/ccsrc/backend/session/ascend_session.cc"
  156. "../../../mindspore/ccsrc/backend/session/ascend_auto_monad.cc"
  157. "../../../mindspore/ccsrc/backend/session/ascend_control_parser.cc"
  158. "../../../mindspore/ccsrc/backend/session/kernel_graph.cc"
  159. "../../../mindspore/ccsrc/backend/session/session_basic.cc"
  160. "../../../mindspore/ccsrc/backend/session/executor.cc"
  161. "../../../mindspore/core/ops/*.cc"
  162. "../../../mindspore/ccsrc/backend/session/executor_manager.cc"
  163. "../../../mindspore/ccsrc/backend/session/session_factory.cc"
  164. "../../../mindspore/ccsrc/backend/session/kernel_build_client.cc"
  165. "../../../mindspore/ccsrc/transform/graph_ir/*.cc"
  166. "../../../mindspore/ccsrc/transform/graph_ir/op_declare/*.cc"
  167. "../../../mindspore/ccsrc/ps/*.cc"
  168. "../../../mindspore/ccsrc/fl/*.cc"
  169. "../../../mindspore/ccsrc/distributed/persistent/*.cc"
  170. "../../../mindspore/ccsrc/profiler/device/ascend/*.cc"
  171. "../../../mindspore/ccsrc/profiler/device/profiling.cc"
  172. "../../../mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/fp32/adam_fp32.c"
  173. )
  174. if(ENABLE_SECURITY)
  175. file(GLOB_RECURSE _INFER_SUMMARY_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
  176. "../../../mindspore/core/ops/*_summary.cc"
  177. )
  178. list(REMOVE_ITEM MINDSPORE_SRC_LIST ${_INFER_SUMMARY_FILES})
  179. endif()
  180. list(REMOVE_ITEM MINDSPORE_SRC_LIST
  181. "../../../mindspore/ccsrc/frontend/parallel/strategy_checkpoint/parallel_strategy_checkpoint.cc")
  182. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/ps/util.cc")
  183. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/ps/scheduler.cc")
  184. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/ps/optimizer_info.cc")
  185. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/ps/optimizer_info_builder.cc")
  186. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/ps/worker.cc")
  187. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/ps/parameter_server.cc")
  188. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/ps/ps_cache/gpu/gpu_ps_cache.cc")
  189. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/ps/ps_cache/ascend/ascend_ps_cache.cc")
  190. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/ps/ps_cache/ps_cache_manager.cc")
  191. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/fl/server/kernel/apply_momentum_kernel.cc")
  192. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/backend/optimizer/gpu/batch_norm_add_relu_fusion.cc")
  193. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/backend/optimizer/gpu/post_batch_norm_add_relu_fusion.cc")
  194. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/backend/optimizer/gpu/batch_norm_add_relu_grad_fusion.cc")
  195. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/backend/optimizer/gpu/batch_norm_relu_fusion.cc")
  196. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/backend/optimizer/gpu/batch_norm_relu_grad_fusion.cc")
  197. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/backend/optimizer/graph_kernel/lite_adapter/akg_build.cc")
  198. list(REMOVE_ITEM MINDSPORE_SRC_LIST
  199. "../../../mindspore/ccsrc/backend/optimizer/graph_kernel/lite_adapter/callback_impl.cc")
  200. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/backend/kernel_compiler/tbe/tbe_kernel_compile.cc")
  201. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/backend/kernel_compiler/akg/cpu/akg_cpu_kernel_mod.cc")
  202. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/backend/kernel_compiler/akg/cpu/akg_cpu_kernel_build.cc")
  203. if(ENABLE_SECURITY)
  204. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/profiler/device/profiling.cc")
  205. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/profiler/device/ascend/memory_profiling.cc")
  206. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/profiler/device/ascend/ascend_profiling.cc")
  207. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/profiler/device/ascend/options.cc")
  208. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/debug/data_dump/dump_json_parser.cc")
  209. endif()
  210. list(REMOVE_ITEM MINDSPORE_SRC_LIST "../../../mindspore/ccsrc/profiler/device/ascend/parallel_strategy_profiling.cc")
  211. add_library(_ut_mindspore_obj OBJECT ${MINDSPORE_SRC_LIST})
  212. add_library(_ut_ut_obj OBJECT ${UT_SRCS})
  213. add_dependencies(_ut_mindspore_obj graph)
  214. add_dependencies(_ut_ut_obj engine-cache-server graph)
  215. add_executable(ut_tests $<TARGET_OBJECTS:_ut_ut_obj>
  216. $<TARGET_OBJECTS:_ut_mindspore_obj>)
  217. if(ENABLE_GE)
  218. if(ENABLE_TRAIN)
  219. target_link_libraries(ut_tests PRIVATE graph ge_runner)
  220. else()
  221. target_link_libraries(ut_tests PRIVATE graph ge_client)
  222. endif()
  223. target_link_libraries(mindspore PRIVATE tsdclient)
  224. endif()
  225. if(CMAKE_SYSTEM_NAME MATCHES "Linux")
  226. target_link_libraries(ut_tests PRIVATE mindspore::gtest mindspore::event mindspore::event_pthreads
  227. mindspore::event_openssl mindspore_gvar ${PYTHON_LIBRARIES} pthread util dl)
  228. if(ENABLE_MINDDATA)
  229. # AUX_SOURCE_DIRECTORY(LITE_CV_FILES)
  230. # message(STATUS "xxxxxxxxxxxxxxxxx"${LITE_CV_FILES} )
  231. # add_library(_live_cv OBJECT ${LITE_CV_FILES})
  232. target_link_libraries(ut_tests PRIVATE _c_dataengine _c_mindrecord)
  233. endif()
  234. else()
  235. target_link_libraries(ut_tests PRIVATE mindspore::gtest mindspore_gvar ${PYTHON_LIBRARIES})
  236. endif()
  237. if(USE_GLOG)
  238. target_link_libraries(ut_tests PRIVATE mindspore::glog)
  239. endif()
  240. target_link_libraries(mindspore mindspore_core)
  241. target_link_libraries(ut_tests PRIVATE mindspore mindspore_shared_lib securec graph error_manager)