CMakeLists.txt 1.85 KB
Newer Older
Paul's avatar
Paul committed
1
2
3
4

list(APPEND CMAKE_PREFIX_PATH /opt/rocm /opt/rocm/hip /opt/rocm/hcc)
find_package(miopen)

5
6
7
8
# rocblas
find_package(rocblas REQUIRED PATHS /opt/rocm)
message(STATUS "Build with rocblas")

Paul's avatar
Paul committed
9
10
11
12
if(NOT TARGET MIOpen)
    message(SEND_ERROR "Cant find miopen")
endif()

Paul's avatar
Paul committed
13
add_library(migraphx_device
Paul's avatar
Paul committed
14
    device/add.cpp
Khalique's avatar
Khalique committed
15
16
    device/max.cpp
    device/min.cpp
Shucai Xiao's avatar
Shucai Xiao committed
17
18
    device/exp.cpp
    device/log.cpp
19
    device/sin.cpp
Shucai Xiao's avatar
Shucai Xiao committed
20
21
    device/cos.cpp
    device/tan.cpp
22
23
    device/sinh.cpp
    device/cosh.cpp
24
25
26
    device/asin.cpp
    device/acos.cpp
    device/atan.cpp
Paul's avatar
Paul committed
27
    device/add_relu.cpp
28
    device/contiguous.cpp
Khalique's avatar
Khalique committed
29
    device/mul.cpp
30
    device/concat.cpp
31
    device/pad.cpp
32
    device/gather.cpp
33
)
Paul's avatar
Paul committed
34
35
set_target_properties(migraphx_device PROPERTIES EXPORT_NAME device)
rocm_clang_tidy_check(migraphx_device)
Paul's avatar
Paul committed
36
target_link_libraries(migraphx_device migraphx hip::device -Wno-invalid-command-line-argument -amdgpu-target=gfx803 -amdgpu-target=gfx900 -amdgpu-target=gfx906)
Paul's avatar
Paul committed
37
38
target_include_directories(migraphx_device PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
target_include_directories(migraphx_device PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/device/include>)
39

Paul's avatar
Paul committed
40
add_library(migraphx_gpu
41
    eliminate_workspace.cpp
Paul's avatar
Paul committed
42
    fuse_ops.cpp
Paul's avatar
Paul committed
43
    hip.cpp
Paul's avatar
Paul committed
44
    target.cpp
Paul's avatar
Paul committed
45
    lowering.cpp
wsttiger's avatar
wsttiger committed
46
47
48
    gemm.cpp
    pooling.cpp
    convolution.cpp
49
50
    softmax.cpp
    contiguous.cpp
51
    concat.cpp
52
    relu.cpp
Khalique's avatar
Khalique committed
53
    leaky_relu.cpp
54
    tanh.cpp
55
    batchnorm.cpp
Paul's avatar
Paul committed
56
    write_literals.cpp
57
    rocblas.cpp
Khalique's avatar
Khalique committed
58
59
    sigmoid.cpp
    abs.cpp
Khalique's avatar
Khalique committed
60
    elu.cpp
61
    pad.cpp
62
    gather.cpp
Paul's avatar
Paul committed
63
)
Paul's avatar
Paul committed
64
65
66
67
set_target_properties(migraphx_gpu PROPERTIES EXPORT_NAME gpu)
rocm_clang_tidy_check(migraphx_gpu)
target_link_libraries(migraphx_gpu PUBLIC migraphx MIOpen roc::rocblas)
target_link_libraries(migraphx_gpu PRIVATE migraphx_device)
mei-ye's avatar
mei-ye committed
68

Paul's avatar
Paul committed
69
rocm_install_targets(
Paul's avatar
Paul committed
70
  TARGETS migraphx_gpu migraphx_device
Paul's avatar
Paul committed
71
72
73
  INCLUDE
    ${CMAKE_CURRENT_SOURCE_DIR}/include
)
mei-ye's avatar
mei-ye committed
74