|
| 1 | +file(GLOB GENERAL_OPS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*_op.cc") |
| 2 | +string(REPLACE ".cc" "" GENERAL_OPS "${GENERAL_OPS}") |
1 | 3 | function(op_library TARGET) |
2 | 4 | # op_library is a function to create op library. The interface is same as |
3 | 5 | # cc_library. But it handle split GPU/CPU code and link some common library |
4 | 6 | # for ops. |
| 7 | + set(OP_LIBRARY ${TARGET} ${OP_LIBRARY} PARENT_SCOPE) |
5 | 8 | set(cc_srcs) |
6 | 9 | set(cu_srcs) |
7 | 10 | set(op_common_deps operator op_registry) |
@@ -43,33 +46,26 @@ endfunction() |
43 | 46 |
|
44 | 47 | add_subdirectory(math) |
45 | 48 |
|
46 | | -cc_test(gather_test SRCS gather_test.cc DEPS tensor) |
47 | | -op_library(gather_op SRCS gather_op.cc gather_op.cu) |
48 | | - |
49 | | -cc_test(scatter_test SRCS scatter_test.cc DEPS tensor) |
50 | | -op_library(scatter_op SRCS scatter_op.cc scatter_op.cu) |
51 | | - |
52 | | -cc_library(net_op SRCS net_op.cc DEPS op_registry) |
53 | | -cc_test(net_op_test SRCS net_op_test.cc DEPS net_op) |
54 | | - |
55 | | -op_library(add_op SRCS add_op.cc add_op.cu) |
56 | | - |
57 | | -op_library(mean_op SRCS mean_op.cc mean_op.cu) |
| 49 | +list(REMOVE_ITEM GENERAL_OPS |
| 50 | + net_op |
| 51 | + minus_op |
| 52 | + mul_op |
| 53 | + recurrent_op |
| 54 | + scale_op) |
58 | 55 |
|
| 56 | +op_library(net_op SRCS net_op.cc) |
| 57 | +op_library(minus_op SRCS minus_op.cc minus_op.cu DEPS scale_op) |
59 | 58 | op_library(mul_op SRCS mul_op.cc mul_op.cu DEPS math_function) |
60 | | -op_library(rowwise_add_op SRCS rowwise_add_op.cu rowwise_add_op.cc) |
| 59 | +op_library(recurrent_op SRCS recurrent_op.cc rnn/recurrent_op_utils.cc |
| 60 | + DEPS framework_proto tensor operator net_op) |
| 61 | +op_library(scale_op SRCS scale_op.cc scale_op.cu DEPS net_op) |
61 | 62 |
|
62 | | -op_library(sigmoid_op SRCS sigmoid_op.cc sigmoid_op.cu) |
63 | | -op_library(softmax_op SRCS softmax_op.cc softmax_op.cu) |
64 | | -op_library(gaussian_random_op SRCS gaussian_random_op.cc gaussian_random_op.cu) |
65 | | -op_library(cross_entropy_op SRCS cross_entropy_op.cc cross_entropy_op.cu) |
66 | | -op_library(fill_zeros_like_op SRCS fill_zeros_like_op.cc fill_zeros_like_op.cu) |
| 63 | +foreach(src ${GENERAL_OPS}) |
| 64 | + op_library(${src} SRCS ${src}.cc ${src}.cu) |
| 65 | +endforeach() |
67 | 66 |
|
68 | | -op_library(sgd_op SRCS sgd_op.cc sgd_op.cu) |
| 67 | +set(GLOB_OP_LIB ${OP_LIBRARY} CACHE INTERNAL "Global OP library") |
69 | 68 |
|
70 | | -op_library(recurrent_op SRCS recurrent_op.cc rnn/recurrent_op_utils.cc |
71 | | - DEPS framework_proto tensor op_registry operator net_op) |
72 | | -op_library(uniform_random_op SRCS uniform_random_op.cc uniform_random_op.cu) |
73 | | -op_library(lookup_table_op SRCS lookup_table_op.cc lookup_table_op.cu) |
74 | | -op_library(scale_op SRCS scale_op.cc scale_op.cu DEPS net_op) |
75 | | -op_library(minus_op SRCS minus_op.cc minus_op.cu DEPS scale_op) |
| 69 | +cc_test(gather_test SRCS gather_test.cc DEPS tensor) |
| 70 | +cc_test(net_op_test SRCS net_op_test.cc DEPS net_op) |
| 71 | +cc_test(scatter_test SRCS scatter_test.cc DEPS tensor) |
0 commit comments