diff --git a/CMakeLists.txt b/CMakeLists.txt index 79c616bf7f4010e6b3da1b3e2f7cfc3ae423580c..b84c5a0032afd30ce2c135d910e76806b738d584 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -97,6 +97,11 @@ option(MGE_WITH_LARGE_ARCHIVE "Enable big archive link support" OFF) option(MGE_BUILD_WITH_ASAN "Enable build with ASAN, need compiler support" OFF) option(MGE_WITH_CUSTOM_OP "Build with Custom op" OFF) option(MGE_SYNC_THIRD_PARTY "help sync third_party submodule" OFF) +option(MGE_PROFILE_COMPILE_TIME "help profile compile time per file" OFF) + +if(MGE_PROFILE_COMPILE_TIME) + set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "cmake -E time") +endif() # TODO: add windows support cmake_dependent_option(MGE_WITH_CUPTI "Build with CUPTI" ON diff --git a/dnn/src/CMakeLists.txt b/dnn/src/CMakeLists.txt index 9db596c3cf21ad43a3a7d76f3d33df470861cdcd..861d4d092029fd85987d6e83fc132302e9abcf55 100644 --- a/dnn/src/CMakeLists.txt +++ b/dnn/src/CMakeLists.txt @@ -188,8 +188,21 @@ if(MGE_WITH_CUDA) gen_cutlass_kimpl(dwconv2d_dgrad tensorop884 CUTLASS_SOURCES) gen_cutlass_kimpl(dwconv2d_wgrad simt CUTLASS_SOURCES) gen_cutlass_kimpl(dwconv2d_wgrad tensorop884 CUTLASS_SOURCES) - list(APPEND SOURCES ${CUTLASS_SOURCES}) - list(APPEND SOURCES ${CUSOURCES}) + # Compile the following opr first + file( + GLOB_RECURSE + PRIORITY_DIRS + cuda/type_cvt/*cu + cuda/conv_bias/*cu + cuda/reduce/*cu + cuda/relayout/*cu + cuda/relayout_format/*cu + cuda/powc/*cu + cuda/warp_perspective/*cu) + list(PREPEND PRIORITY_DIRS ${CUTLASS_SOURCES}) + list(PREPEND CUSOURCES ${PRIORITY_DIRS}) + list(REMOVE_DUPLICATES CUSOURCES) + list(PREPEND SOURCES ${CUSOURCES}) endif() if(MGE_WITH_ATLAS)