CMakeLists.txt 2.4 KB
Newer Older
Y
Yan Chunwei 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
add_subdirectory(detail)

function(math_library TARGET)
    # math_library is a function to create math library.
    # The interface is the same as lite_cc_library.
    # But it handle split GPU/CPU code and link some common library.
    set(cc_srcs)
    set(hip_srcs)
    set(math_common_deps context framework_proto)
    set(multiValueArgs DEPS)
    cmake_parse_arguments(math_library "${options}" "${oneValueArgs}"
            "${multiValueArgs}" ${ARGN})

    if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${TARGET}.cc)
        list(APPEND cc_srcs ${TARGET}.cc)
    endif()

    list(LENGTH cc_srcs cc_srcs_len)
19
    lite_cc_library(${TARGET} SRCS ${cc_srcs} DEPS ${math_library_DEPS} ${math_common_deps} eigen3)
Y
Yan Chunwei 已提交
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
endfunction()

# please add new math_library in alphabetical order
math_library(concat_and_split)
math_library(context_project DEPS im2col math_function)
math_library(cross_entropy)
math_library(cos_sim_functor)
## math_library(depthwise_conv DEPS cub)
math_library(im2col)
math_library(sample_prob)
math_library(sampler)

math_library(gru_compute DEPS activation_functions math_function)
## math_library(lstm_compute DEPS activation_functions)

35
lite_cc_library(blas SRCS blas.cc DEPS cblas framework_proto eigen3)
Y
Yan Chunwei 已提交
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
math_library(math_function DEPS blas)
math_library(maxouting)
math_library(pooling)
# math_library(selected_rows_functor DEPS selected_rows math_function blas)
# math_library(sequence2batch)
# math_library(sequence_padding)
# math_library(sequence_pooling DEPS math_function jit_kernel_helper)
# math_library(sequence_scale)
math_library(softmax DEPS math_function jit_kernel_helper)
math_library(beam_search DEPS math_function)
#
## math_library(matrix_bit_code)
#
math_library(unpooling)
math_library(vol2col)
## math_library(prelu)
math_library(tree2col DEPS math_function)

# cc_test(math_function_test SRCS math_function_test.cc DEPS math_function)
# cc_test(selected_rows_functor_test SRCS selected_rows_functor_test.cc DEPS selected_rows_functor)
# cc_test(im2col_test SRCS im2col_test.cc DEPS im2col)
# cc_test(vol2col_test SRCS vol2col_test.cc DEPS vol2col)
# cc_test(sequence_padding_test SRCS sequence_padding_test.cc DEPS sequence_padding)
# cc_test(sequence_pooling_test SRCS sequence_pooling_test.cc DEPS sequence_pooling)
# cc_test(beam_search_test SRCS beam_search_test.cc DEPS beam_search)
# cc_test(concat_test SRCS concat_test.cc DEPS concat_and_split)
# cc_test(cpu_vec_test SRCS cpu_vec_test.cc DEPS blas cpu_info)