From ce210b4ba42520461b5036bd5a5e1bc5daa2b945 Mon Sep 17 00:00:00 2001 From: chentianyu03 Date: Wed, 20 Oct 2021 16:33:32 +0800 Subject: [PATCH] remove kernel_instantiate (#26) --- cmake/pten.cmake | 54 ------------------------- paddle/pten/CMakeLists.txt | 1 - paddle/pten/kernels/cpu/CMakeLists.txt | 7 ---- paddle/pten/kernels/cuda/CMakeLists.txt | 7 ---- 4 files changed, 69 deletions(-) delete mode 100644 cmake/pten.cmake diff --git a/cmake/pten.cmake b/cmake/pten.cmake deleted file mode 100644 index bfe75475edcc0b..00000000000000 --- a/cmake/pten.cmake +++ /dev/null @@ -1,54 +0,0 @@ -# `kernel_instantiate` functionis used to declare the template instantiation of -# the Kernel function generated through code analysis, only for windows -# (because the windows platform msvc compiler cannot automatically instantiate -# the template function through decltype) -# TODO(chenweihang): keep message comment for debuging, it is still useful, -# I will remove it if needless later - -function(kernel_instantiate TARGET) - set(target_file ${CURRENT_BINARY_DIR}/${TARGET}.tmp CACHE INTERNAL "${CURRENT_BINARY_DIR}/${TARGET} file") - set(target_file_final ${CURRENT_BINARY_DIR}/${TARGET}) - file(READ ${TARGET} TARGET_CONTENT) - file(WRITE ${target_file} ${TARGET_CONTENT}) - string(REGEX MATCHALL "void [A-Z][A-Za-z0-9_]+\\(.[^\\)]+\\)" func_signatures ${TARGET_CONTENT}) - # message(STATUS "FUNCS: ${func_signatures}") - string(REGEX MATCHALL "PT_REGISTER_KERNEL\\(.[^\\)]+\\) \\{" func_registrars ${TARGET_CONTENT}) - # message(STATUS "REGISTRARS: ${func_registrars}") - set(instantiate_context "") - foreach(signature ${func_signatures}) - # message(STATUS "FUNC: ${signature}") - list(POP_FRONT func_registrars registrar) - # message(STATUS "REG: ${registrar}") - string(REGEX MATCHALL "[a-z0-9_:]+(,|\\))" dtypes ${registrar}) - # message(STATUS "DTYPES: ${dtypes}") - list(REMOVE_AT dtypes 0) - # message(STATUS "REMOVED DTYPES: ${dtypes}") - foreach(dtype ${dtypes}) - string(REGEX REPLACE ",|\\)" "" dtype ${dtype}) - # message(STATUS "DTYPE: ${dtype}") - string(REGEX MATCH "[A-Z][A-Za-z0-9]+\\(" func_name ${signature}) - string(REPLACE "(" "" func_name ${func_name}) - # message(STATUS "FUNC NAME: ${func_name}") - string(REGEX REPLACE "${func_name}" "pten::${func_name}<${dtype}>" inst_signature ${signature}) - # append namespace - string(REPLACE "CPUContext" "pten::CPUContext" inst_signature ${inst_signature}) - string(REPLACE "CUDAContext" "pten::CUDAContext" inst_signature ${inst_signature}) - string(REPLACE "DenseTensor" "pten::DenseTensor" inst_signature ${inst_signature}) - # TODO(chenweihang): adapt SelectedRows after adding it - # string(REPLACE "SelectedRowsTensor" "pten::SelectedRowsTensor" inst_signature ${inst_signature}) - # message(STATUS "INST FUNC: ${inst_signature}") - string(APPEND instantiate_context "template ${inst_signature};\n") - endforeach() - endforeach() - # message(STATUS "INST CONTENT: ${instantiate_context}") - file(APPEND ${target_file} "${instantiate_context}\n") - string(REPLACE "." "_" cmd_name ${TARGET}) - # this is a dummy target for custom command, should always be run firstly to update ${target_file_final} - # TODO(chenweihang): nameing rule need to enchance - add_custom_target(copy_${cmd_name}_command ALL - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${target_file} ${target_file_final} - COMMENT "copy_if_different ${target_file_final}" - VERBATIM - ) - add_dependencies(extern_glog copy_${cmd_name}_command) -endfunction() \ No newline at end of file diff --git a/paddle/pten/CMakeLists.txt b/paddle/pten/CMakeLists.txt index 3bf1e6759b35ac..4fc1c7f18e54f7 100644 --- a/paddle/pten/CMakeLists.txt +++ b/paddle/pten/CMakeLists.txt @@ -1,4 +1,3 @@ -include(pten) # pten api add_subdirectory(api) # pten high level api diff --git a/paddle/pten/kernels/cpu/CMakeLists.txt b/paddle/pten/kernels/cpu/CMakeLists.txt index 9536f7e7d50f54..ad18a2f555265d 100644 --- a/paddle/pten/kernels/cpu/CMakeLists.txt +++ b/paddle/pten/kernels/cpu/CMakeLists.txt @@ -1,10 +1,3 @@ -if(WIN32) - set(CURRENT_BINARY_DIR ${PADDLE_BINARY_DIR}/paddle/pten/kernels/cpu) - kernel_instantiate(creation.cc) - kernel_instantiate(math.cc) - kernel_instantiate(linalg.cc) -endif() - cc_library(math_cpu SRCS math.cc DEPS dense_tensor kernel_context kernel_factory eigen_function) cc_library(linalg_cpu SRCS linalg.cc DEPS dense_tensor kernel_context kernel_factory) cc_library(creation_cpu SRCS creation.cc DEPS dense_tensor kernel_context kernel_factory eigen_function) diff --git a/paddle/pten/kernels/cuda/CMakeLists.txt b/paddle/pten/kernels/cuda/CMakeLists.txt index 1271d93558d5b4..54df37ecb5e267 100644 --- a/paddle/pten/kernels/cuda/CMakeLists.txt +++ b/paddle/pten/kernels/cuda/CMakeLists.txt @@ -1,10 +1,3 @@ -if(WIN32) - set(CURRENT_BINARY_DIR ${PADDLE_BINARY_DIR}/paddle/pten/kernels/cuda) - kernel_instantiate(creation.cu) - kernel_instantiate(math.cu) - kernel_instantiate(linalg.cu) -endif() - if(WITH_GPU) nv_library(math_cuda SRCS math.cu DEPS eigen_function dense_tensor convert_utils kernel_context kernel_factory) nv_library(linalg_cuda SRCS linalg.cu DEPS eigen_function dense_tensor kernel_context kernel_factory)