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.

cndev.cmake 2.2 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. if($ENV{LIBRARY_PATH})
  2. string(REPLACE ":" ";" SYSTEM_LIBRARY_PATHS $ENV{LIBRARY_PATH})
  3. endif()
  4. find_library(CNDEV_LIBRARY
  5. NAMES libcndev.so
  6. PATHS $ENV{LD_LIBRARY_PATH} "$ENV{NEUWARE_HOME}/lib64" ${CMAKE_INSTALL_PREFIX}
  7. HINTS ${SYSTEM_LIBRARY_PATHS}
  8. PATH_SUFFIXES lib lib64
  9. DOC "CNDEV library." )
  10. if(CNDEV_LIBRARY STREQUAL "CNDEV_LIBRARY-NOTFOUND")
  11. message(FATAL_ERROR "Can not find CNDEV Library")
  12. endif()
  13. get_filename_component(__found_cndev_root "${CNDEV_LIBRARY}/../include" REALPATH)
  14. find_path(CNDEV_INCLUDE_DIR
  15. NAMES cndev.h
  16. HINTS "$ENV{NEUWARE_HOME}/include" ${__found_cndev_root}
  17. PATH_SUFFIXES include
  18. DOC "Path to CNDEV include directory." )
  19. if(CNDEV_INCLUDE_DIR STREQUAL "CNDEV_INCLUDE_DIR-NOTFOUND")
  20. message(FATAL_ERROR "Can not find CNDEV Library")
  21. endif()
  22. file(STRINGS "${CNDEV_INCLUDE_DIR}/cndev.h" CNDEV_1 REGEX "^#define CNDEV_VERSION_1 [0-9]+.*$")
  23. file(STRINGS "${CNDEV_INCLUDE_DIR}/cndev.h" CNDEV_2 REGEX "^#define CNDEV_VERSION_2 [0-9]+.*$")
  24. file(STRINGS "${CNDEV_INCLUDE_DIR}/cndev.h" CNDEV_3 REGEX "^#define CNDEV_VERSION_3 [0-9]+.*$")
  25. file(STRINGS "${CNDEV_INCLUDE_DIR}/cndev.h" CNDEV_4 REGEX "^#define CNDEV_VERSION_4 [0-9]+.*$")
  26. file(STRINGS "${CNDEV_INCLUDE_DIR}/cndev.h" CNDEV_5 REGEX "^#define CNDEV_VERSION_5 [0-9]+.*$")
  27. string(REGEX REPLACE "^#define CNDEV_VERSION_1 ([0-9]+).*$" "\\1" CNDEV_VERSION_1 "${CNDEV_1}")
  28. string(REGEX REPLACE "^#define CNDEV_VERSION_2 ([0-9]+).*$" "\\1" CNDEV_VERSION_2 "${CNDEV_2}")
  29. string(REGEX REPLACE "^#define CNDEV_VERSION_3 ([0-9]+).*$" "\\1" CNDEV_VERSION_3 "${CNDEV_3}")
  30. string(REGEX REPLACE "^#define CNDEV_VERSION_4 ([0-9]+).*$" "\\1" CNDEV_VERSION_4 "${CNDEV_4}")
  31. string(REGEX REPLACE "^#define CNDEV_VERSION_5 ([0-9]+).*$" "\\1" CNDEV_VERSION_5 "${CNDEV_5}")
  32. set(CNDEV_VERSION_STRING "${CNDEV_VERSION_1}.${CNDEV_VERSION_2}.${CNDEV_VERSION_3}.${CNDEV_VERSION_4}.${CNDEV_VERSION_5}")
  33. add_library(libcndev SHARED IMPORTED)
  34. set_target_properties(libcndev PROPERTIES
  35. IMPORTED_LOCATION ${CNDEV_LIBRARY}
  36. INTERFACE_INCLUDE_DIRECTORIES ${CNDEV_INCLUDE_DIR}
  37. )
  38. message("-- Found CNDEV: ${__found_cndev_root} (found version: ${CNDEV_VERSION_STRING})")

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