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.

Halide.cmake 1.5 kB

1234567891011121314151617181920212223242526272829303132
  1. include(ExternalProject)
  2. find_package(LLVM 6.0 REQUIRED CONFIG)
  3. STRING(REPLACE "." ";" LLVM_VERSION_LIST ${LLVM_PACKAGE_VERSION})
  4. list(GET LLVM_VERSION_LIST 0 LLVM_VERSION_MAJOR)
  5. list(GET LLVM_VERSION_LIST 1 LLVM_VERSION_MINOR)
  6. set(HALIDE_DIR "${PROJECT_SOURCE_DIR}/third_party/Halide" CACHE STRING "halide directory")
  7. set(HALIDE_BUILD_DIR ${PROJECT_BINARY_DIR}/third_party/Halide)
  8. set(HALIDE_LIB ${HALIDE_BUILD_DIR}/lib/libHalide.a)
  9. ExternalProject_add(
  10. halide
  11. SOURCE_DIR ${HALIDE_DIR}
  12. PREFIX ${HALIDE_BUILD_DIR}
  13. CMAKE_ARGS -DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER} -DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_INSTALL_PREFIX=${HALIDE_BUILD_DIR} -DWITH_APPS=OFF -DWITH_TESTS=OFF -DWITH_TUTORIALS=OFF -DHALIDE_SHARED_LIBRARY=OFF -DHALIDE_REQUIRE_LLVM_VERSION=${LLVM_VERSION_MAJOR}${LLVM_VERSION_MINOR} -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DTARGET_MIPS=OFF -DTARGET_POWERPC=OFF
  14. BUILD_BYPRODUCTS ${HALIDE_LIB}
  15. )
  16. set(HALIDE_INC ${HALIDE_BUILD_DIR}/include)
  17. file(MAKE_DIRECTORY ${HALIDE_INC})
  18. add_library(libhalide STATIC IMPORTED GLOBAL)
  19. add_dependencies(libhalide halide)
  20. set_target_properties(
  21. libhalide PROPERTIES
  22. IMPORTED_LOCATION ${HALIDE_LIB}
  23. INTERFACE_INCLUDE_DIRECTORIES ${HALIDE_INC}
  24. )
  25. set(LLVM_COMPONENTS mcjit;bitwriter;linker;passes;X86;ARM;AArch64;Hexagon;NVPTX;AMDGPU)
  26. llvm_map_components_to_libnames(HALIDE_LLVM_LIBS ${LLVM_COMPONENTS})

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