CMakeLists.txt 2.4 KB
Newer Older
W
Wu Yi 已提交
1
include(operators)
2
register_operators(EXCLUDES
Z
Zhen Wang 已提交
3
    fused_bn_activation_op
4 5 6 7
    conv_fusion_op
    fusion_transpose_flatten_concat_op
    fusion_conv_inception_op
    fused_fc_elementwise_layernorm_op
8
    multihead_matmul_op
9
    skip_layernorm_op
10
    fused_embedding_eltwise_layernorm_op
A
Adam 已提交
11
    fusion_group_op
Z
Zhang Ting 已提交
12 13
    fusion_gru_op
    fused_bn_add_activation_op)
A
Adam 已提交
14 15 16 17

# fusion_gru_op does not have CUDA kernel
op_library(fusion_gru_op)
file(APPEND ${pybind_file} "USE_CPU_ONLY_OP(fusion_gru);\n")
18

19
if (WITH_GPU)
Z
Zhen Wang 已提交
20 21 22 23 24
    # fused_bn_activation_op needs cudnn 7.4.1 above
    if (NOT ${CUDNN_VERSION} VERSION_LESS 7401)
        op_library(fused_bn_activation_op)
        file(APPEND ${pybind_file} "USE_CUDA_ONLY_OP(fused_batch_norm_act);\n")
    endif()
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
    # conv_fusion_op needs cudnn 7 above
    if (NOT ${CUDNN_VERSION} VERSION_LESS 7100)
        op_library(conv_fusion_op)
        file(APPEND ${pybind_file} "USE_CUDA_ONLY_OP(conv2d_fusion);\n")
    endif()
    # fusion_transpose_flatten_concat_op
    op_library(fusion_transpose_flatten_concat_op)
    file(APPEND ${pybind_file} "USE_CUDA_ONLY_OP(fusion_transpose_flatten_concat);\n")
    # fusion_conv_inception_op needs cudnn 7 above
    if (NOT ${CUDNN_VERSION} VERSION_LESS 7100)
        op_library(fusion_conv_inception_op)
        file(APPEND ${pybind_file} "USE_CUDA_ONLY_OP(conv2d_inception_fusion);\n")
    endif()
    # fused_fc_elementwise_layernorm_op
    op_library(fused_fc_elementwise_layernorm_op)
    file(APPEND ${pybind_file} "USE_CUDA_ONLY_OP(fused_fc_elementwise_layernorm);\n")
    # multihead_matmul_op
    op_library(multihead_matmul_op)
    file(APPEND ${pybind_file} "USE_CUDA_ONLY_OP(multihead_matmul);\n")
44 45
    op_library(skip_layernorm_op)
    file(APPEND ${pybind_file} "USE_CUDA_ONLY_OP(skip_layernorm);\n")
46 47
    op_library(fused_embedding_eltwise_layernorm_op)
    file(APPEND ${pybind_file} "USE_CUDA_ONLY_OP(fused_embedding_eltwise_layernorm);\n")
48 49 50 51 52 53
    # fusion_group
    if(NOT APPLE AND NOT WIN32)
        op_library(fusion_group_op DEPS device_code)
        file(APPEND ${pybind_file} "USE_CUDA_ONLY_OP(fusion_group);\n")
        cc_test(test_fusion_group_op SRCS fusion_group_op_test.cc DEPS fusion_group_op)
    endif()
Z
Zhang Ting 已提交
54 55 56 57 58
    # fused_bn_add_activation
    if (NOT ${CUDNN_VERSION} VERSION_LESS 7401)
    op_library(fused_bn_add_activation_op)
    file(APPEND ${pybind_file} "USE_CUDA_ONLY_OP(fused_bn_add_activation);\n")
    endif()
59
endif()