Commit d1d0a75d authored by Paul's avatar Paul
Browse files

Add initial packaging and installation

parent 63978fb4
...@@ -10,9 +10,20 @@ if( NOT MSVC_IDE AND NOT CMAKE_BUILD_TYPE ) ...@@ -10,9 +10,20 @@ if( NOT MSVC_IDE AND NOT CMAKE_BUILD_TYPE )
set( CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." ) set( CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." )
endif() endif()
# Default installation path
if(WIN32)
set(CMAKE_INSTALL_PREFIX "/opt/rocm/x86_64-w64-mingw32" CACHE PATH "")
else()
set(CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE PATH "")
endif()
project(migraphlib) project(migraphlib)
find_package(ROCM REQUIRED) find_package(ROCM REQUIRED)
include(ROCMSetupVersion)
rocm_setup_version(VERSION 0.1)
option( BUILD_SHARED_LIBS "Build as a shared library" ON ) option( BUILD_SHARED_LIBS "Build as a shared library" ON )
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
...@@ -119,6 +130,15 @@ rocm_enable_cppcheck( ...@@ -119,6 +130,15 @@ rocm_enable_cppcheck(
enable_testing() enable_testing()
include(ROCMCreatePackage)
rocm_create_package(
NAME MIGraph
DESCRIPTION "AMD's graph optimizer"
MAINTAINER "Paul Fultz II <paul.fultz@amd.com>"
LDCONFIG
DEPENDS miopen-hip rocblas hip_hcc
)
add_subdirectory(src) add_subdirectory(src)
add_subdirectory(doc) add_subdirectory(doc)
add_subdirectory(test) add_subdirectory(test)
......
include(ROCMInstallTargets)
include(ROCMPackageConfigHelpers)
add_library(migraph add_library(migraph
auto_contiguous.cpp auto_contiguous.cpp
common_subexpression_elimination.cpp common_subexpression_elimination.cpp
...@@ -19,20 +22,30 @@ add_library(migraph ...@@ -19,20 +22,30 @@ add_library(migraph
opt/memory_coloring_impl.cpp opt/memory_coloring_impl.cpp
) )
rocm_clang_tidy_check(migraph) rocm_clang_tidy_check(migraph)
target_include_directories(migraph PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>) rocm_install_targets(
TARGETS migraph
INCLUDE
${CMAKE_CURRENT_SOURCE_DIR}/include
)
find_path(HALF_INCLUDE_DIR half.hpp) find_path(HALF_INCLUDE_DIR half.hpp)
target_include_directories(migraph SYSTEM PUBLIC ${HALF_INCLUDE_DIR}) # TODO: Fix the incorrect path
target_include_directories(migraph SYSTEM PUBLIC $<BUILD_INTERFACE:${HALF_INCLUDE_DIR}>)
set(PACKAGE_DEPENDS)
add_subdirectory(onnx) add_subdirectory(onnx)
add_subdirectory(targets/cpu) add_subdirectory(targets/cpu)
if(MIGRAPH_ENABLE_GPU) if(MIGRAPH_ENABLE_GPU)
list(APPEND PACKAGE_DEPENDS MIOpen rocblas)
add_subdirectory(targets/gpu) add_subdirectory(targets/gpu)
endif() endif()
#install (TARGETS migraph rocm_export_targets(
# LIBRARY DESTINATION /opt/rocm/lib) TARGETS migraph::migraph
NAMESPACE migraph::
#install (DIRECTORY include/migraph DESTINATION /opt/rocm/include) DEPENDS
${PACKAGE_DEPENDS}
)
...@@ -12,6 +12,10 @@ rocm_clang_tidy_check(migraph_onnx) ...@@ -12,6 +12,10 @@ rocm_clang_tidy_check(migraph_onnx)
target_link_libraries(migraph_onnx PRIVATE onnx-proto) target_link_libraries(migraph_onnx PRIVATE onnx-proto)
target_link_libraries(migraph_onnx PUBLIC migraph) target_link_libraries(migraph_onnx PUBLIC migraph)
rocm_install_targets(
TARGETS migraph_onnx
)
add_executable(read_onnx read_onnx.cpp) add_executable(read_onnx read_onnx.cpp)
rocm_clang_tidy_check(read_onnx) rocm_clang_tidy_check(read_onnx)
target_link_libraries(read_onnx migraph_onnx) target_link_libraries(read_onnx migraph_onnx)
......
...@@ -10,11 +10,12 @@ find_package(Threads) ...@@ -10,11 +10,12 @@ find_package(Threads)
rocm_clang_tidy_check(migraph_cpu) rocm_clang_tidy_check(migraph_cpu)
target_link_libraries(migraph_cpu migraph Threads::Threads) target_link_libraries(migraph_cpu migraph Threads::Threads)
target_include_directories(migraph_cpu PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
target_include_directories(migraph_cpu PRIVATE ${BLAZE_INCLUDE}) target_include_directories(migraph_cpu PRIVATE ${BLAZE_INCLUDE})
target_compile_definitions(migraph_cpu PRIVATE -DBLAZE_USE_CPP_THREADS) target_compile_definitions(migraph_cpu PRIVATE -DBLAZE_USE_CPP_THREADS)
#install (TARGETS migraph_cpu rocm_install_targets(
# LIBRARY DESTINATION /opt/rocm/lib) TARGETS migraph_cpu
#install (DIRECTORY include/migraph DESTINATION /opt/rocm/include) INCLUDE
${CMAKE_CURRENT_SOURCE_DIR}/include
)
...@@ -10,7 +10,7 @@ if(NOT TARGET MIOpen) ...@@ -10,7 +10,7 @@ if(NOT TARGET MIOpen)
message(SEND_ERROR "Cant find miopen") message(SEND_ERROR "Cant find miopen")
endif() endif()
add_library(migraph_device add_library(migraph_device STATIC
device/add.cpp device/add.cpp
device/add_relu.cpp device/add_relu.cpp
device/contiguous.cpp device/contiguous.cpp
...@@ -43,14 +43,12 @@ add_library(migraph_gpu ...@@ -43,14 +43,12 @@ add_library(migraph_gpu
rocblas.cpp rocblas.cpp
) )
rocm_clang_tidy_check(migraph_gpu) rocm_clang_tidy_check(migraph_gpu)
target_link_libraries(migraph_gpu migraph MIOpen migraph_device roc::rocblas) target_link_libraries(migraph_gpu PUBLIC migraph MIOpen roc::rocblas)
target_include_directories(migraph_gpu PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>) target_link_libraries(migraph_gpu PRIVATE migraph_device)
#install (TARGETS migraph_gpu rocm_install_targets(
# LIBRARY DESTINATION /opt/rocm/lib) TARGETS migraph_gpu
#install (DIRECTORY include/migraph DESTINATION /opt/rocm/include) INCLUDE
${CMAKE_CURRENT_SOURCE_DIR}/include
#install (TARGETS migraph_device )
# LIBRARY DESTINATION /opt/rocm/lib)
#install (DIRECTORY include/migraph DESTINATION /opt/rocm/include)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment