Various optimizations (#192)
* CDash name prefix {{ repo_owner }}-{{ ref_name }}
- remove /merge from CI name
* disable using BFD when sampling_include_inlines is OFF
- this consumes a lot of memory
* Improve finalization of rocprofiler
* update timemory submodule
- disable OMPT thread begin/end callbacks
- support hierarchies in signal handlers
- update operation::pop_node debugging
- settings_update_type + setting_supported_data_types
- fixed parsing args in timemory_init
* Improve timemory build time
* Remove kokkosp restrictions for perfetto
* omnitrace exe signal handler update
- configure signal handlers before main to allow libomnitrace to override
* Backtrace and timemory submodule updates
- Use unwind::cache w/o inline info
- update timemory submodule
- unwind::cache updates
- filepath updates
- fix termination_signal_message
- fix vsettings::report_change
* Update dyninst submodule
- updates BinaryEdit::getResolvedLibraryPath
* update timemory submodule
- update CpuArch support
* Cleanup configure warnings
* Update examples cmake and workflows
- (Mostly) eliminate configuration warnings
* omnitrace exe updates
- pass environ to BPatch::processCreate
- avoid trailing ":" in DYNINST_REWRITER_PATHS
* Update dyninst submodule
- Add flags to DyninstOptimization.cmake
- Remove strtok from BinaryEdit::getResolvedLibraryPath
* examples/mpi CMakeLists.txt update
- STATUS message about missing MPI during CI, otherwise AUTHOR_WARNING
* Dev build and linker flags
- use -gsplit-dwarf when OMNITRACE_BUILD_DEVELOPER is ON
- disable when OMNITRACE_BUILD_NUMBER > 1
- OMNITRACE_BUILD_LINKER option
- add -fuse-ld=${OMNITRACE_BUILD_LINKER}
- omnitrace_add_cache_option function
* Update workflows to set OMNITRACE_BUILD_NUMBER
* Fix generator expressions for -fuse-ld
* Suppress some configuration warnings during CI
- helps to keep track of real warnings when they arise
* Update timemory and dyninst submodules with CMP0135
* Add -V flag to run-ci script
Αυτή η υποβολή περιλαμβάνεται σε:
υποβλήθηκε από
GitHub
γονέας
b23b581563
υποβολή
f147670a7a
@@ -27,6 +27,11 @@ omnitrace_add_option(OMNITRACE_BUILD_STATIC_LIBGCC
|
||||
omnitrace_add_option(OMNITRACE_BUILD_STATIC_LIBSTDCXX
|
||||
"Build with -static-libstdc++ if possible" OFF)
|
||||
omnitrace_add_option(OMNITRACE_BUILD_STACK_PROTECTOR "Build with -fstack-protector" ON)
|
||||
omnitrace_add_cache_option(
|
||||
OMNITRACE_BUILD_LINKER
|
||||
"If set to a non-empty value, pass -fuse-ld=\${OMNITRACE_BUILD_LINKER}" STRING "bfd")
|
||||
omnitrace_add_cache_option(OMNITRACE_BUILD_NUMBER "Internal CI use" STRING "0" ADVANCED
|
||||
NO_FEATURE)
|
||||
|
||||
omnitrace_add_interface_library(omnitrace-static-libgcc
|
||||
"Link to static version of libgcc")
|
||||
@@ -224,6 +229,16 @@ if(OMNITRACE_BUILD_DEVELOPER)
|
||||
omnitrace-compile-options "-Werror" "-Wdouble-promotion" "-Wshadow" "-Wextra"
|
||||
"-Wpedantic" "-Wstack-usage=524288" # 512 KB
|
||||
"/showIncludes")
|
||||
if(OMNITRACE_BUILD_NUMBER LESS 2)
|
||||
add_target_flag_if_avail(omnitrace-compile-options "-gsplit-dwarf")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(OMNITRACE_BUILD_LINKER)
|
||||
target_link_options(
|
||||
omnitrace-compile-options INTERFACE
|
||||
$<$<C_COMPILER_ID:GNU>:-fuse-ld=${OMNITRACE_BUILD_LINKER}>
|
||||
$<$<CXX_COMPILER_ID:GNU>:-fuse-ld=${OMNITRACE_BUILD_LINKER}>)
|
||||
endif()
|
||||
|
||||
# ----------------------------------------------------------------------------------------#
|
||||
|
||||
@@ -375,6 +375,40 @@ function(OMNITRACE_ADD_OPTION _NAME _MESSAGE _DEFAULT)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# ----------------------------------------------------------------------------------------#
|
||||
# function omnitrace_add_cache_option(<OPTION_NAME> <DOCSRING> <TYPE> <DEFAULT_VALUE>
|
||||
# [NO_FEATURE] [ADVANCED] [CMAKE_DEFINE])
|
||||
#
|
||||
function(OMNITRACE_ADD_CACHE_OPTION _NAME _MESSAGE _TYPE _DEFAULT)
|
||||
set(_FORCE)
|
||||
if("FORCE" IN_LIST ARGN)
|
||||
set(_FORCE FORCE)
|
||||
endif()
|
||||
|
||||
set(${_NAME}
|
||||
"${_DEFAULT}"
|
||||
CACHE ${_TYPE} "${_MESSAGE}" ${_FORCE})
|
||||
|
||||
if("NO_FEATURE" IN_LIST ARGN)
|
||||
mark_as_advanced(${_NAME})
|
||||
else()
|
||||
omnitrace_add_feature(${_NAME} "${_MESSAGE}")
|
||||
|
||||
if(OMNITRACE_BUILD_DOCS)
|
||||
set_property(GLOBAL APPEND PROPERTY ${PROJECT_NAME}_CMAKE_OPTIONS_DOC
|
||||
"${_NAME}` | ${_MESSAGE} |")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if("ADVANCED" IN_LIST ARGN)
|
||||
mark_as_advanced(${_NAME})
|
||||
endif()
|
||||
|
||||
if("CMAKE_DEFINE" IN_LIST ARGN)
|
||||
set_property(GLOBAL APPEND PROPERTY ${PROJECT_NAME}_CMAKE_DEFINES ${_NAME})
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# ----------------------------------------------------------------------------------------#
|
||||
# function omnitrace_report_feature_changes() :: print changes in features
|
||||
#
|
||||
|
||||
@@ -109,7 +109,7 @@ elseif("${MPI_HEADERS_VENDOR}" STREQUAL "MPICH")
|
||||
option(
|
||||
MPI_HEADERS_ALLOW_MPICH
|
||||
"Permit the use of MPI headers from MPICH instead of using internal OpenMPI header"
|
||||
)
|
||||
OFF)
|
||||
mark_as_advanced(MPI_HEADERS_ALLOW_MPICH)
|
||||
if(NOT MPI_HEADERS_ALLOW_MPICH)
|
||||
set(_MESSAGE "\nFound MPI headers belonging to a MPICH distribution. ")
|
||||
|
||||
@@ -536,8 +536,11 @@ endif()
|
||||
#
|
||||
# ----------------------------------------------------------------------------------------#
|
||||
|
||||
target_compile_definitions(omnitrace-timemory-config INTERFACE TIMEMORY_PAPI_ARRAY_SIZE=12
|
||||
TIMEMORY_USE_ROOFLINE=0)
|
||||
target_compile_definitions(
|
||||
omnitrace-timemory-config
|
||||
INTERFACE TIMEMORY_PAPI_ARRAY_SIZE=12 TIMEMORY_USE_ROOFLINE=0 TIMEMORY_USE_ERT=0
|
||||
TIMEMORY_USE_CONTAINERS=0 TIMEMORY_USE_ERT_EXTERN=0
|
||||
TIMEMORY_USE_CONTAINERS_EXTERN=0)
|
||||
|
||||
if(OMNITRACE_BUILD_STACK_PROTECTOR)
|
||||
add_target_flag_if_avail(omnitrace-timemory-config "-fstack-protector-strong"
|
||||
@@ -628,6 +631,9 @@ set(TIMEMORY_BUILD_EXTRA_OPTIMIZATIONS
|
||||
set(TIMEMORY_BUILD_ERT
|
||||
OFF
|
||||
CACHE BOOL "Disable building ERT support" FORCE)
|
||||
set(TIMEMORY_BUILD_CONTAINERS
|
||||
OFF
|
||||
CACHE BOOL "Disable building container extern templates (unused)" FORCE)
|
||||
|
||||
# timemory build settings
|
||||
set(TIMEMORY_TLS_MODEL
|
||||
|
||||
Αναφορά σε νέο ζήτημα
Block a user