From 124f38c44d63178dbea5b6f4189b2c1b567c6c3d Mon Sep 17 00:00:00 2001 From: Megvii Engine Team Date: Thu, 12 May 2022 17:17:47 +0800 Subject: [PATCH] perf(mgb/compile): improve compile time for megbrain GitOrigin-RevId: 12d7467c8bccc07731646ff307dba71ea983d88f --- CMakeLists.txt | 5 +++++ dnn/src/CMakeLists.txt | 17 +++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 79c616bf..b84c5a00 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 9db596c3..861d4d09 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) -- GitLab