CMakeLists.txt 1.5 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()

Z
zhangjinchao01 已提交
28
set(MATH_SOURCES
29 30
    "${PADDLE_SOURCE_DIR}/paddle/math/BaseMatrix.cu"
    "${PADDLE_SOURCE_DIR}/paddle/math/TrainingAlgorithmOp.cu"
Z
zhangjinchao01 已提交
31 32 33
    ${MATH_SOURCES})
if(NOT WITH_GPU)
    # then compile BaseMatrix.cu as c++ file
34 35
    compile_cu_as_cpp("${PADDLE_SOURCE_DIR}/paddle/math/BaseMatrix.cu")
    compile_cu_as_cpp("${PADDLE_SOURCE_DIR}/paddle/math/TrainingAlgorithmOp.cu")
Z
zhangjinchao01 已提交
36 37 38
    add_library(paddle_math STATIC
        ${MATH_SOURCES})
else()
H
hedaoyuan 已提交
39
    cuda_add_library(paddle_math ${MATH_SOURCES})
Z
zhangjinchao01 已提交
40 41 42 43 44 45 46
endif()



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

Y
Yu Yang 已提交
47
add_dependencies(paddle_math paddle_proto ${external_project_dependencies})  # depends
Z
zhangjinchao01 已提交
48 49 50
if(WITH_TESTING)
    add_subdirectory(tests)
endif()