Commit 19a6cc89 authored by carlushuang's avatar carlushuang
Browse files

let cpu instance compiled into a single .so file

parent f8b551da
add_example_executable(example_cpu_conv2d_fwd cpu_conv2d_fwd.cpp) add_example_executable(example_cpu_conv2d_fwd cpu_conv2d_fwd.cpp)
target_link_libraries(example_cpu_conv2d_fwd PRIVATE device_conv2d_fwd_cpu_instance) target_link_libraries(example_cpu_conv2d_fwd PRIVATE ck_cpu_instance)
set_target_properties(example_cpu_conv2d_fwd PROPERTIES LINK_FLAGS "${OMP_LINK_FLAG}") set_target_properties(example_cpu_conv2d_fwd PROPERTIES LINK_FLAGS "${OMP_LINK_FLAG}")
target_link_libraries(example_cpu_conv2d_fwd PRIVATE "${OMP_LIBRARY}") target_link_libraries(example_cpu_conv2d_fwd PRIVATE "${OMP_LIBRARY}")
......
add_example_executable(example_cpu_conv2d_fwd_bias_relu_add cpu_conv2d_fwd_bias_relu_add.cpp) add_example_executable(example_cpu_conv2d_fwd_bias_relu_add cpu_conv2d_fwd_bias_relu_add.cpp)
target_link_libraries(example_cpu_conv2d_fwd_bias_relu_add PRIVATE device_conv2d_fwd_bias_activation_add_cpu_instance) target_link_libraries(example_cpu_conv2d_fwd_bias_relu_add PRIVATE ck_cpu_instance)
set_target_properties(example_cpu_conv2d_fwd_bias_relu_add PROPERTIES LINK_FLAGS "${OMP_LINK_FLAG}") set_target_properties(example_cpu_conv2d_fwd_bias_relu_add PROPERTIES LINK_FLAGS "${OMP_LINK_FLAG}")
target_link_libraries(example_cpu_conv2d_fwd_bias_relu_add PRIVATE "${OMP_LIBRARY}") target_link_libraries(example_cpu_conv2d_fwd_bias_relu_add PRIVATE "${OMP_LIBRARY}")
......
...@@ -21,5 +21,14 @@ function(add_instance_library INSTANCE_NAME) ...@@ -21,5 +21,14 @@ function(add_instance_library INSTANCE_NAME)
set_target_properties(${INSTANCE_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON) set_target_properties(${INSTANCE_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)
endfunction(add_instance_library INSTANCE_NAME) endfunction(add_instance_library INSTANCE_NAME)
set(CK_CPU_INSTANCE_SRC)
add_subdirectory(conv2d_fwd) add_subdirectory(conv2d_fwd)
add_subdirectory(conv2d_fwd_bias_activation_add) add_subdirectory(conv2d_fwd_bias_activation_add)
add_library(ck_cpu_instance SHARED ${CK_CPU_INSTANCE_SRC})
target_compile_features(ck_cpu_instance PUBLIC)
set_target_properties(ck_cpu_instance PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_link_libraries(ck_cpu_instance PRIVATE "${OMP_LIBRARY}")
target_compile_options(ck_cpu_instance PRIVATE "${OMP_CXX_FLAG}")
install(TARGETS ck_cpu_instance LIBRARY DESTINATION lib)
# device_conv2d_fwd_cpu_instance file(GLOB tmp *.cpp)
set(DEVICE_CONV2D_FWD_CPU_INSTANCE_SOURCE set(CK_CPU_INSTANCE_SRC
device_conv2d_fwd_avx2_nhwc_kyxc_nhwk_instance.cpp ${CK_CPU_INSTANCE_SRC}
device_conv2d_fwd_avx2_nhwc_kyxck8_nhwk_instance.cpp ${tmp}
device_conv2d_fwd_avx2_nhwc_yxck_nhwk_instance.cpp PARENT_SCOPE
) )
add_library(device_conv2d_fwd_cpu_instance SHARED ${DEVICE_CONV2D_FWD_CPU_INSTANCE_SOURCE})
target_compile_features(device_conv2d_fwd_cpu_instance PUBLIC)
set_target_properties(device_conv2d_fwd_cpu_instance PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_link_libraries(device_conv2d_fwd_cpu_instance PRIVATE "${OMP_LIBRARY}")
target_compile_options(device_conv2d_fwd_cpu_instance PRIVATE "${OMP_CXX_FLAG}")
install(TARGETS device_conv2d_fwd_cpu_instance LIBRARY DESTINATION lib)
clang_tidy_check(device_conv2d_fwd_cpu_instance)
# device_conv2d_fwd_bias_activation_add_cpu_instance file(GLOB tmp *.cpp)
set(DEVICE_CONV2D_FWD_CPU_INSTANCE_SOURCE set(CK_CPU_INSTANCE_SRC
device_conv2d_bias_activation_add_avx2_nhwc_kyxc_nhwk_instance.cpp ${CK_CPU_INSTANCE_SRC}
device_conv2d_bias_activation_add_avx2_nhwc_kyxck8_nhwk_instance.cpp ${tmp}
device_conv2d_bias_activation_add_avx2_nhwc_yxck_nhwk_instance.cpp PARENT_SCOPE
) )
add_library(device_conv2d_fwd_bias_activation_add_cpu_instance SHARED ${DEVICE_CONV2D_FWD_CPU_INSTANCE_SOURCE})
target_compile_features(device_conv2d_fwd_bias_activation_add_cpu_instance PUBLIC)
set_target_properties(device_conv2d_fwd_bias_activation_add_cpu_instance PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_link_libraries(device_conv2d_fwd_bias_activation_add_cpu_instance PRIVATE "${OMP_LIBRARY}")
target_compile_options(device_conv2d_fwd_bias_activation_add_cpu_instance PRIVATE "${OMP_CXX_FLAG}")
install(TARGETS device_conv2d_fwd_bias_activation_add_cpu_instance LIBRARY DESTINATION lib)
clang_tidy_check(device_conv2d_fwd_bias_activation_add_cpu_instance)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment