set(AVX_SOURCES src/hl_math.cc src/hl_avx_functions.cc ) if(WITH_AVX) set(CUDA_SOURCES src/hl_time.cc src/hl_cpu_functions.cc ${AVX_SOURCES}) else() set(CUDA_SOURCES src/hl_time.cc src/hl_cpu_functions.cc) endif() set(CUDA_CXX_WITH_GPU_SOURCES src/hl_cuda_cublas.cc src/hl_cuda_cudnn.cc src/hl_cuda_device.cc) if(WITH_GPU) set(CUDA_CXX_SOURCES src/hl_warpctc_wrap.cc ${CUDA_CXX_WITH_GPU_SOURCES}) set_source_files_properties(${CUDA_CXX_SOURCES} PROPERTIES COMPILE_FLAGS "-D__NVCC__") else() set(CUDA_CXX_SOURCES src/hl_warpctc_wrap.cc) endif() set(CUDA_CU_SOURCES src/hl_perturbation_util.cu src/hl_cuda_aggregate.cu src/hl_cuda_matrix.cu src/hl_cuda_sparse.cu src/hl_cuda_cnn.cu src/hl_cuda_lstm.cu src/hl_top_k.cu src/hl_batch_transpose.cu src/hl_cuda_sequence.cu src/hl_table_apply.cu) set(CUDA_HEADERS include/hl_time.h include/hl_warpctc_wrap.h include/hl_sequence.h include/hl_cuda_cublas.h include/hl_batch_transpose.h include/hl_avx_functions.h include/hl_sparse.h include/hl_functions.h include/hl_cuda_cudnn.h include/hl_activation_functions.h include/hl_base.h include/stub/hl_cuda_cudnn_stub.h include/stub/hl_cuda_stub.h include/stub/hl_cuda_cublas_stub.h include/stub/hl_cnn_stub.h include/stub/hl_lstm_stub.h include/stub/hl_sequence_stub.h include/stub/hl_aggregate_stub.h include/stub/hl_sparse_stub.h include/stub/hl_matrix_stub.h include/hl_aggregate.h include/hl_cuda.h include/hl_lstm.h include/hl_table_apply.h include/hl_gpu.h include/hl_top_k.h include/hl_matrix.h include/hl_cnn.h) if(WITH_GPU) cuda_add_library(paddle_cuda ${CUDA_SOURCES} ${CUDA_CU_SOURCES} ${CUDA_CXX_SOURCES}) else() add_library(paddle_cuda ${CUDA_SOURCES} ${CUDA_CXX_SOURCES}) endif() add_dependencies(paddle_cuda paddle_proto ${external_project_dependencies}) add_style_check_target(paddle_cuda ${CUDA_SOURCES} ${CUDA_HEADERS} ${CUDA_CXX_SOURCES})