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.

cnrt.cmake 1.7 kB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. find_library(CNRT_LIBRARY
  2. NAMES libcnrt.so
  3. PATHS ${ALTER_LD_LIBRARY_PATHS} "$ENV{NEUWARE_HOME}/lib64" ${CMAKE_INSTALL_PREFIX}
  4. HINTS ${ALTER_LIBRARY_PATHS}
  5. PATH_SUFFIXES lib lib64
  6. DOC "CNRT library." )
  7. if(CNRT_LIBRARY STREQUAL "CNRT_LIBRARY-NOTFOUND")
  8. message(FATAL_ERROR "Can not find CNRT Library")
  9. endif()
  10. get_filename_component(__found_cnrt_root "${CNRT_LIBRARY}/../include" REALPATH)
  11. find_path(CNRT_INCLUDE_DIR
  12. NAMES cnrt.h
  13. HINTS "$ENV{NEUWARE_HOME}/include" ${__found_cnrt_root}
  14. PATH_SUFFIXES include
  15. DOC "Path to CNRT include directory." )
  16. if(CNRT_INCLUDE_DIR STREQUAL "CNRT_INCLUDE_DIR-NOTFOUND")
  17. message(FATAL_ERROR "Can not find CNRT Library")
  18. endif()
  19. file(STRINGS "${CNRT_INCLUDE_DIR}/cnrt.h" CNRT_MAJOR REGEX "^#define CNRT_MAJOR_VERSION [0-9]+.*$")
  20. file(STRINGS "${CNRT_INCLUDE_DIR}/cnrt.h" CNRT_MINOR REGEX "^#define CNRT_MINOR_VERSION [0-9]+.*$")
  21. file(STRINGS "${CNRT_INCLUDE_DIR}/cnrt.h" CNRT_PATCH REGEX "^#define CNRT_PATCH_VERSION [0-9]+.*$")
  22. string(REGEX REPLACE "^#define CNRT_MAJOR_VERSION ([0-9]+).*$" "\\1" CNRT_VERSION_MAJOR "${CNRT_MAJOR}")
  23. string(REGEX REPLACE "^#define CNRT_MINOR_VERSION ([0-9]+).*$" "\\1" CNRT_VERSION_MINOR "${CNRT_MINOR}")
  24. string(REGEX REPLACE "^#define CNRT_PATCH_VERSION ([0-9]+).*$" "\\1" CNRT_VERSION_PATCH "${CNRT_PATCH}")
  25. set(CNRT_VERSION_STRING "${CNRT_VERSION_MAJOR}.${CNRT_VERSION_MINOR}.${CNRT_VERSION_PATCH}")
  26. add_library(libcnrt SHARED IMPORTED)
  27. set_target_properties(libcnrt PROPERTIES
  28. IMPORTED_LOCATION ${CNRT_LIBRARY}
  29. INTERFACE_INCLUDE_DIRECTORIES ${CNRT_INCLUDE_DIR}
  30. )
  31. message(STATUS "Found CNRT: ${__found_cnrt_root} (found version: ${CNRT_VERSION_STRING})")

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