CMakeLists.txt 1.9 KB
Newer Older
Z
zhangjinchao01 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
# common package contains:
#   * the utilities:
#       * Thread Libs
#       * Memory Manage libs
#       * CommandLine Parser
#       * Logging
#       * Timer/Stats
#   * the math libraries:
#       * Matrix/Vector
#   * the parameter optimizers.
#   * the parameter updater functions.
#
# TODO(yuyang18): separate libs.
#
file(GLOB MATH_HEADERS . *.h)
file(GLOB MATH_SOURCES . *.cpp)
T
tensor-tang 已提交
17 18

if(NOT WITH_MKLDNN)
T
tensor-tang 已提交
19 20 21 22
    set(DNN_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/MKLDNNMatrix.h")
    set(DNN_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/MKLDNNMatrix.cpp")
    list(REMOVE_ITEM MATH_HEADERS "${DNN_HEADER}")
    list(REMOVE_ITEM MATH_SOURCES "${DNN_SOURCE}")
T
tensor-tang 已提交
23 24 25 26 27
    message(STATUS "Skip compiling with MKLDNNMatrix")
else()
    message(STATUS "Compile with MKLDNNMatrix")
endif()

28 29 30 31 32 33 34 35 36 37 38
if(MOBILE_INFERENCE)
    # Remove sparse
    list(REMOVE_ITEM MATH_HEADERS
         ${CMAKE_CURRENT_SOURCE_DIR}/CpuSparseMatrix.h
         ${CMAKE_CURRENT_SOURCE_DIR}/SparseMatrix.h
         ${CMAKE_CURRENT_SOURCE_DIR}/SparseRowMatrix.h)
    list(REMOVE_ITEM MATH_SOURCES
         ${CMAKE_CURRENT_SOURCE_DIR}/CpuSparseMatrix.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/SparseMatrix.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/SparseRowMatrix.cpp)
endif()
Z
zhangjinchao01 已提交
39
set(MATH_SOURCES
40 41
    "${PADDLE_SOURCE_DIR}/paddle/math/BaseMatrix.cu"
    "${PADDLE_SOURCE_DIR}/paddle/math/TrainingAlgorithmOp.cu"
Z
zhangjinchao01 已提交
42 43 44
    ${MATH_SOURCES})
if(NOT WITH_GPU)
    # then compile BaseMatrix.cu as c++ file
45 46
    compile_cu_as_cpp("${PADDLE_SOURCE_DIR}/paddle/math/BaseMatrix.cu")
    compile_cu_as_cpp("${PADDLE_SOURCE_DIR}/paddle/math/TrainingAlgorithmOp.cu")
Z
zhangjinchao01 已提交
47 48 49
    add_library(paddle_math STATIC
        ${MATH_SOURCES})
else()
H
hedaoyuan 已提交
50
    cuda_add_library(paddle_math ${MATH_SOURCES})
Z
zhangjinchao01 已提交
51 52 53 54 55 56 57
endif()



add_style_check_target(paddle_math ${MATH_SOURCES})
add_style_check_target(paddle_math ${MATH_HEADERS})

Y
Yu Yang 已提交
58
add_dependencies(paddle_math paddle_proto ${external_project_dependencies})  # depends
Z
zhangjinchao01 已提交
59 60 61
if(WITH_TESTING)
    add_subdirectory(tests)
endif()