CMakeLists.txt 2.67 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
Shucai Xiao's avatar
Shucai Xiao committed
15
16
    device/argmax.cpp
    device/argmin.cpp
Khalique's avatar
Khalique committed
17
18
    device/max.cpp
    device/min.cpp
Paul's avatar
Paul committed
19
    device/mul_add.cpp
Shucai Xiao's avatar
Shucai Xiao committed
20
    device/exp.cpp
Shucai Xiao's avatar
Shucai Xiao committed
21
    device/erf.cpp
Shucai Xiao's avatar
Shucai Xiao committed
22
    device/log.cpp
23
    device/sin.cpp
Shucai Xiao's avatar
Shucai Xiao committed
24
25
    device/cos.cpp
    device/tan.cpp
26
27
    device/sinh.cpp
    device/cosh.cpp
28
    device/tanh.cpp
29
30
31
    device/asin.cpp
    device/acos.cpp
    device/atan.cpp
32
    device/relu.cpp
Paul's avatar
Paul committed
33
    device/add_relu.cpp
34
    device/contiguous.cpp
35
    device/logsoftmax.cpp
Khalique's avatar
Khalique committed
36
    device/softmax.cpp
37
    device/sigmoid.cpp
38
    device/convert.cpp
Khalique's avatar
Khalique committed
39
    device/mul.cpp
40
    device/concat.cpp
41
    device/pad.cpp
42
    device/gather.cpp
43
    device/sub.cpp
44
    device/int8_gemm_pack.cpp
45
    device/div.cpp
Khalique's avatar
Khalique committed
46
    device/clip.cpp
Paul's avatar
Paul committed
47
    device/reduce_sum.cpp
Khalique's avatar
Khalique committed
48
    device/rsqrt.cpp
49
    device/round.cpp
50
    device/sqrt.cpp
51
    device/reduce_mean.cpp
Shucai Xiao's avatar
Shucai Xiao committed
52
    device/pow.cpp
Khalique's avatar
Khalique committed
53
    device/sqdiff.cpp
Shucai Xiao's avatar
Shucai Xiao committed
54
    device/sign.cpp
55
)
Paul's avatar
Paul committed
56
set_target_properties(migraphx_device PROPERTIES EXPORT_NAME device)
Paul's avatar
Paul committed
57
rocm_set_soversion(migraphx_device ${PROJECT_VERSION})
Paul's avatar
Paul committed
58
rocm_clang_tidy_check(migraphx_device)
Paul's avatar
Paul committed
59
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
60
61
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>)
62

Paul's avatar
Paul committed
63
add_library(migraphx_gpu
Shucai Xiao's avatar
Shucai Xiao committed
64
65
    argmax.cpp
    argmin.cpp
66
    eliminate_workspace.cpp
Paul's avatar
Paul committed
67
    fuse_ops.cpp
Paul's avatar
Paul committed
68
    hip.cpp
Paul's avatar
Paul committed
69
    target.cpp
Paul's avatar
Paul committed
70
    lowering.cpp
wsttiger's avatar
wsttiger committed
71
    gemm.cpp
72
    quant_gemm.cpp
wsttiger's avatar
wsttiger committed
73
74
    pooling.cpp
    convolution.cpp
75
    quant_convolution.cpp
76
    softmax.cpp
77
    logsoftmax.cpp
78
    contiguous.cpp
79
    concat.cpp
Khalique's avatar
Khalique committed
80
    leaky_relu.cpp
81
    batchnorm.cpp
Paul's avatar
Paul committed
82
    write_literals.cpp
83
    rocblas.cpp
Khalique's avatar
Khalique committed
84
    abs.cpp
Khalique's avatar
Khalique committed
85
    elu.cpp
86
    pad.cpp
87
    gather.cpp
Shucai Xiao's avatar
Shucai Xiao committed
88
    convert.cpp
Khalique's avatar
Khalique committed
89
    lrn.cpp
Paul's avatar
Paul committed
90
    schedule_model.cpp
91
    adjust_allocation.cpp
92
    pack_int8_args.cpp
Khalique's avatar
Khalique committed
93
    clip.cpp
Paul's avatar
Paul committed
94
    reduce_sum.cpp
95
    reduce_mean.cpp
96
97
    int8_gemm_pack.cpp
    int8_conv_pack.cpp
Paul's avatar
Paul committed
98
)
Paul's avatar
Paul committed
99
set_target_properties(migraphx_gpu PROPERTIES EXPORT_NAME gpu)
Paul's avatar
Paul committed
100
rocm_set_soversion(migraphx_gpu ${PROJECT_VERSION})
Paul's avatar
Paul committed
101
102
103
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
104

Paul's avatar
Paul committed
105
rocm_install_targets(
Paul's avatar
Paul committed
106
  TARGETS migraphx_gpu migraphx_device
Paul's avatar
Paul committed
107
108
109
  INCLUDE
    ${CMAKE_CURRENT_SOURCE_DIR}/include
)
mei-ye's avatar
mei-ye committed
110