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

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. list(APPEND OPR_PARAM_DEFS_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/opr_param_defs.py)
  2. set(OPR_PARAM_DEFS_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/scripts/gen_param_defs.py)
  3. set(OPR_PARAM_DEFS_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/include/)
  4. file(MAKE_DIRECTORY ${OPR_PARAM_DEFS_OUT_DIR}/megdnn)
  5. add_custom_command(
  6. OUTPUT
  7. ${OPR_PARAM_DEFS_OUT_DIR}/megdnn/opr_param_defs.h
  8. ${OPR_PARAM_DEFS_OUT_DIR}/megdnn/opr_param_json.h
  9. COMMAND ${PYTHON_EXECUTABLE} ${OPR_PARAM_DEFS_SCRIPT} ${OPR_PARAM_DEFS_SRCS}
  10. ${OPR_PARAM_DEFS_OUT_DIR}/megdnn/opr_param_defs.h
  11. COMMAND ${PYTHON_EXECUTABLE} ${OPR_PARAM_DEFS_SCRIPT} ${OPR_PARAM_DEFS_SRCS}
  12. tmp_unuse.log --write-cppjson ${OPR_PARAM_DEFS_OUT_DIR}/megdnn/opr_param_json.h
  13. DEPENDS ${OPR_PARAM_DEFS_SRCS} ${OPR_PARAM_DEFS_SCRIPT}
  14. VERBATIM
  15. )
  16. list(APPEND OPR_PARAM_DEFS_OUTS
  17. ${OPR_PARAM_DEFS_OUT_DIR}/megdnn/opr_param_defs.h
  18. ${OPR_PARAM_DEFS_OUT_DIR}/megdnn/opr_param_json.h
  19. )
  20. list(APPEND OPR_PARAM_DEFS_INC ${OPR_PARAM_DEFS_OUT_DIR})
  21. set(OPR_PARAM_DEFS_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR})
  22. file(MAKE_DIRECTORY ${OPR_PARAM_DEFS_OUT_DIR}/src/common)
  23. add_custom_command(
  24. OUTPUT
  25. ${OPR_PARAM_DEFS_OUT_DIR}/src/common/opr_param_defs_enumv.cuh
  26. COMMAND ${PYTHON_EXECUTABLE} ${OPR_PARAM_DEFS_SCRIPT}
  27. --enumv ${OPR_PARAM_DEFS_SRCS}
  28. ${OPR_PARAM_DEFS_OUT_DIR}/src/common/opr_param_defs_enumv.cuh
  29. DEPENDS ${OPR_PARAM_DEFS_SRCS} ${OPR_PARAM_DEFS_SCRIPT}
  30. VERBATIM
  31. )
  32. list(APPEND OPR_PARAM_DEFS_OUTS
  33. ${OPR_PARAM_DEFS_OUT_DIR}/src/common/opr_param_defs_enumv.cuh
  34. )
  35. list(APPEND OPR_PARAM_DEFS_INC ${OPR_PARAM_DEFS_OUT_DIR})
  36. install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/megdnn DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} FILES_MATCHING PATTERN "*.h")
  37. add_custom_target(_opr_param_defs DEPENDS ${OPR_PARAM_DEFS_OUTS})
  38. add_library(opr_param_defs INTERFACE)
  39. target_include_directories(opr_param_defs
  40. INTERFACE
  41. $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
  42. )
  43. foreach (INCPATH IN LISTS OPR_PARAM_DEFS_INC)
  44. target_include_directories(opr_param_defs
  45. INTERFACE $<BUILD_INTERFACE:${INCPATH}>
  46. )
  47. endforeach()
  48. add_dependencies(opr_param_defs _opr_param_defs)
  49. install(TARGETS opr_param_defs EXPORT ${MGE_EXPORT_TARGETS})
  50. if(MGE_WITH_CUDA)
  51. add_library(cutlass INTERFACE)
  52. target_include_directories(cutlass
  53. INTERFACE
  54. $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/third_party/cutlass/include>)
  55. install(TARGETS cutlass EXPORT ${MGE_EXPORT_TARGETS})
  56. endif()
  57. if(MGE_WITH_TEST)
  58. if(NOT MGE_BUILD_IMPERATIVE_RT)
  59. add_subdirectory(test)
  60. endif()
  61. endif()
  62. add_subdirectory(src)
  63. # install(TARGETS megdnn opr_param_defs libmkl EXPORT ${MGE_EXPORT_TARGETS})

MegEngine 安装包中集成了使用 GPU 运行代码所需的 CUDA 环境,不用区分 CPU 和 GPU 版。 如果想要运行 GPU 程序,请确保机器本身配有 GPU 硬件设备并安装好驱动。 如果你想体验在云端 GPU 算力平台进行深度学习开发的感觉,欢迎访问 MegStudio 平台