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.

options.cmake 4.7 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. option(ENABLE_D "Enable d" OFF)
  2. option(ENABLE_GPU "Enable gpu" OFF)
  3. option(ENABLE_CPU "Enable cpu" OFF)
  4. option(ENABLE_GE "Enable graph engine as backend to execute" OFF)
  5. option(ENABLE_MINDDATA "Enable minddata compile" OFF)
  6. option(ENABLE_TRAIN "Enable ge train, default off(only infer)" OFF)
  7. option(ENABLE_TESTCASES "Run testcases switch, default off" OFF)
  8. option(ENABLE_CPP_ST "Run cpp st testcases switch, default off" OFF)
  9. option(DEBUG_MODE "Debug mode, default off" OFF)
  10. option(ENABLE_ASAN "Enable Google Sanitizer to find memory bugs")
  11. option(ENABLE_LOAD_ANF_IR "Enable load ANF-IR as input of 'infer' stage of pipeline" OFF)
  12. option(ENABLE_COVERAGE "Enable code coverage report" OFF)
  13. option(USE_GLOG "Use glog to output log" OFF)
  14. option(ENABLE_SECURITY "Enable security, maintenance function will be disabled, default off" OFF)
  15. option(ENABLE_PROFILE "Enable pipeline profile, default off" OFF)
  16. option(ENABLE_TIMELINE "Enable time line record" OFF)
  17. option(ENABLE_DUMP_PROTO "Enable dump anf graph to file in ProtoBuffer format, default on" ON)
  18. option(ENABLE_DUMP_IR "Enable dump function graph ir, default on" ON)
  19. option(ENABLE_MPI "enable mpi" OFF)
  20. option(ENABLE_AKG "enable akg" OFF)
  21. option(ENABLE_DEBUGGER "enable debugger" OFF)
  22. option(ENABLE_IBVERBS "enable IBVERBS for parameter server" OFF)
  23. option(ENABLE_PYTHON "Enable python" ON)
  24. option(ENABLE_ACL "enable acl" OFF)
  25. option(ENABLE_GLIBCXX "enable_glibcxx" OFF)
  26. option(MODE_ASCEND_ALL "supports all ascend platform" OFF)
  27. option(MODE_ASCEND_ACL "supports ascend acl mode only" OFF)
  28. option(ENABLE_SYM_FILE "enable sym file" OFF)
  29. option(BUILD_DEV_MODE "MindSpore build nightly dev mode" OFF)
  30. option(ENABLE_FAST_HASH_TABLE "Enable use fast hash table instead of std ones" ON)
  31. if(NOT ENABLE_D AND NOT ENABLE_TESTCASES AND NOT ENABLE_ACL AND NOT ENABLE_GE)
  32. set(ENABLE_GLIBCXX ON)
  33. endif()
  34. if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
  35. if(WIN32)
  36. set(OPTION_CXX_FLAGS "${OPTION_CXX_FLAGS} -fstack-protector-all")
  37. else()
  38. set(OPTION_CXX_FLAGS "${OPTION_CXX_FLAGS} -fstack-protector-all -Wl,-z,relro,-z,now,-z,noexecstack")
  39. endif()
  40. endif()
  41. if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
  42. set(OPTION_CXX_FLAGS "${OPTION_CXX_FLAGS} -Wsign-compare")
  43. endif()
  44. if(ENABLE_COVERAGE)
  45. set(COVERAGE_COMPILER_FLAGS "-g --coverage -fprofile-arcs -ftest-coverage")
  46. set(OPTION_CXX_FLAGS "${OPTION_CXX_FLAGS} ${COVERAGE_COMPILER_FLAGS}")
  47. endif()
  48. if(ENABLE_ASAN)
  49. set(OPTION_CXX_FLAGS "${OPTION_CXX_FLAGS} -fsanitize=address -fsanitize-recover=address -fno-omit-frame-pointer")
  50. if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
  51. set(OPTION_CXX_FLAGS "${OPTION_CXX_FLAGS} -static-libsan")
  52. endif()
  53. endif()
  54. if(DEBUG_MODE)
  55. set(CMAKE_BUILD_TYPE "Debug")
  56. add_compile_definitions(MEM_REUSE_DEBUG)
  57. else()
  58. set(CMAKE_BUILD_TYPE "Release")
  59. endif()
  60. if((CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") OR (CMAKE_BUILD_TYPE STREQUAL Release))
  61. set(PYBIND11_LTO_CXX_FLAGS FALSE)
  62. endif()
  63. if(NOT BUILD_PATH)
  64. set(BUILD_PATH "${CMAKE_SOURCE_DIR}/build")
  65. endif()
  66. if(ENABLE_GE OR ENABLE_D)
  67. set(ENABLE_TDTQUE ON)
  68. endif()
  69. if(ENABLE_GPU)
  70. set(ENABLE_GPUQUE ON)
  71. add_compile_definitions(ENABLE_GPU_COLLECTIVE)
  72. endif()
  73. if(ENABLE_CPU)
  74. add_compile_definitions(ENABLE_CPU)
  75. endif()
  76. if(ENABLE_GE)
  77. add_compile_definitions(ENABLE_GE)
  78. add_compile_definitions(CUSTOM_OP)
  79. endif()
  80. if(ENABLE_TRAIN)
  81. add_compile_definitions(ENABLE_TRAIN=1)
  82. else()
  83. add_compile_definitions(ENABLE_TRAIN=0)
  84. endif()
  85. if(USE_GLOG)
  86. add_compile_definitions(USE_GLOG)
  87. endif()
  88. if(ENABLE_PROFILE)
  89. add_compile_definitions(ENABLE_PROFILE)
  90. endif()
  91. if(ENABLE_SECURITY)
  92. add_compile_definitions(ENABLE_SECURITY)
  93. endif()
  94. if(ENABLE_TIMELINE)
  95. add_compile_definitions(ENABLE_TIMELINE)
  96. endif()
  97. if(ENABLE_LOAD_ANF_IR)
  98. add_compile_definitions(ENABLE_LOAD_ANF_IR)
  99. endif()
  100. if(ENABLE_TESTCASES OR (NOT ENABLE_D AND NOT ENABLE_GE))
  101. add_compile_definitions(NO_DLIB=1)
  102. endif()
  103. if(ENABLE_DUMP_IR)
  104. add_compile_definitions(ENABLE_DUMP_IR)
  105. endif()
  106. if(ENABLE_MINDDATA)
  107. add_compile_definitions(ENABLE_MINDDATA)
  108. if(ENABLE_TDTQUE)
  109. add_compile_definitions(ENABLE_TDTQUE)
  110. endif()
  111. endif()
  112. if(ENABLE_DEBUGGER)
  113. add_compile_definitions(ENABLE_DEBUGGER)
  114. endif()
  115. if(ENABLE_DEBUGGER OR ENABLE_TESTCASES)
  116. set(MS_BUILD_GRPC ON)
  117. endif()
  118. if(ENABLE_MINDDATA AND NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
  119. set(MS_BUILD_GRPC ON)
  120. endif()
  121. if(ENABLE_D AND ENABLE_ACL)
  122. set(MODE_ASCEND_ALL ON)
  123. endif()
  124. if(ENABLE_ACL AND NOT ENABLE_D)
  125. set(MODE_ASCEND_ACL ON)
  126. endif()
  127. if(ENABLE_CPU AND NOT WIN32)
  128. add_compile_definitions(ENABLE_ARMOUR)
  129. endif()
  130. if(ENABLE_AKG AND CMAKE_SYSTEM_NAME MATCHES "Linux")
  131. add_compile_definitions(ENABLE_AKG)
  132. endif()