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

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. include_directories("..")
  2. file(GLOB_RECURSE SOURCES common/*.cpp naive/*.cpp dispatcher/*.cpp)
  3. file(GLOB SOURCES_ *.cpp)
  4. list(APPEND SOURCES ${SOURCES_})
  5. if(NOT ${MGE_ARCH} STREQUAL "naive")
  6. file(GLOB_RECURSE SOURCES_ fallback/*.cpp)
  7. list(APPEND SOURCES ${SOURCES_})
  8. file(GLOB_RECURSE SOURCES_ cpu/*.cpp)
  9. list(APPEND SOURCES ${SOURCES_})
  10. if(${MGE_ARCH} STREQUAL "fallback")
  11. message(WARNING "build only with fallback")
  12. elseif(${MGE_ARCH} STREQUAL "x86_64" OR ${MGE_ARCH} STREQUAL "i386")
  13. file(GLOB_RECURSE SOURCES_ x86/*.cpp)
  14. list(APPEND SOURCES ${SOURCES_})
  15. endif()
  16. endif()
  17. if(MGE_WITH_CUDA)
  18. file(GLOB_RECURSE SOURCES_ cuda/*.cpp)
  19. list(APPEND SOURCES ${SOURCES_})
  20. file(GLOB_RECURSE CUSOURCES cuda/*.cu)
  21. list(APPEND SOURCES ${CUSOURCES})
  22. endif()
  23. if(MGE_WITH_CAMBRICON)
  24. file(GLOB_RECURSE SOURCES_ cambricon/*.cpp)
  25. list(APPEND SOURCES ${SOURCES_})
  26. endif()
  27. if(MGE_WITH_ATLAS)
  28. file(GLOB_RECURSE SOURCES_ atlas/*.cpp)
  29. list(APPEND SOURCES ${SOURCES_})
  30. endif()
  31. add_executable(megdnn_test ${SOURCES})
  32. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-narrowing")
  33. target_link_libraries(megdnn_test gtest)
  34. target_link_libraries(megdnn_test megdnn ${MGE_BLAS_LIBS})
  35. if (MGE_WITH_CUDA)
  36. target_link_libraries(megdnn_test cutlass)
  37. endif()
  38. target_include_directories(megdnn_test
  39. PRIVATE
  40. ${PROJECT_SOURCE_DIR}/third_party/midout/src
  41. )
  42. if(APPLE OR ANDROID)
  43. set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
  44. else()
  45. set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++")
  46. endif()
  47. if(MGE_ENABLE_COVERAGE)
  48. set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
  49. endif()
  50. if(APPLE OR ANDROID)
  51. target_link_libraries(megdnn_test dl)
  52. else()
  53. target_link_libraries(megdnn_test dl rt)
  54. endif()

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