32b15fe7b7
* Always print PID in log messages * omnitrace-dl updates - omnitrace_preload does not call omnitrace_init or omnitrace_init_tooling - omnitrace_preload will call omnitrace_set_mpi if OMNITRACE_USE_MPI or OMNITRACE_USE_MPIP in the env is true but not call it otherwise because doing so either overrides OMNITRACE_USE_PID (when true) or disable mpip from initialization (when false) and the MPI init can be caught later and override OMNITRACE_USE_PID * config updates - set_setting_value sets user update type - remove volatile from get_settings_configured - don't override settings::default_process_suffix - don't kill process in omnitrace_exit_action - set_state ignores updating state if >= State::Finalized * Handle state > State::Finalized * fork gotcha updates - unsets LD_PRELOAD - sets OMNITRACE_ROOT_PROCESS - sets OMNITRACE_CHILD_PROCESS * libomnitrace library.cpp updates - basic_bundle for fini metrics - handle finalization from child process * sampling updates - sampling::shutdown handles when child process * Add example and test using fork * Update run-ci script to support not submitting * Tweak test envs * Update build flags when codecov enabled * remove unnecessary includes of sampling header * Replace mpi copy/fini static lambda with free-funcs * Update codecov job * Fix OMPT segfaults after finalization * Miscellaneous updates after rebase * fixes for causal profiling * revert some run-ci.sh changes * Disable storing env in sampling::shutdown * formatting fix * Update timemory submodule - fixed occasional synchronization issues with allocator offloading - exclude protozero:: from internal samples * improve root/child process detection - avoid omnitrace_finalize in MPI when child process - revert some testing tweaks
58 lines
1.7 KiB
CMake
58 lines
1.7 KiB
CMake
cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
|
|
|
|
project(omnitrace-examples LANGUAGES C CXX)
|
|
|
|
if("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
|
set(CMAKE_BUILD_TYPE
|
|
"RelWithDebInfo"
|
|
CACHE STRING "Build type" FORCE)
|
|
endif()
|
|
|
|
string(TOUPPER "${CMAKE_BUILD_TYPE}" BUILD_TYPE)
|
|
|
|
set(CMAKE_VISIBILITY_INLINES_HIDDEN OFF)
|
|
set(CMAKE_CXX_VISIBILITY_PRESET "default")
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_CLANG_TIDY)
|
|
set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME examples)
|
|
|
|
if(OMNITRACE_BUILD_DEBUG)
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3 -fno-omit-frame-pointer")
|
|
endif()
|
|
|
|
option(BUILD_SHARED_LIBS "Build dynamic libraries" ON)
|
|
|
|
if(CMAKE_PROJECT_NAME STREQUAL "omnitrace")
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
|
|
omnitrace_add_option(OMNITRACE_INSTALL_EXAMPLES "Install omnitrace examples" OFF)
|
|
else()
|
|
option(OMNITRACE_INSTALL_EXAMPLES "Install omnitrace examples" ON)
|
|
endif()
|
|
|
|
if(OMNITRACE_INSTALL_EXAMPLES)
|
|
include(GNUInstallDirs)
|
|
endif()
|
|
|
|
set(OMNITRACE_EXAMPLE_ROOT_DIR
|
|
${CMAKE_CURRENT_LIST_DIR}
|
|
CACHE INTERNAL "")
|
|
# defines function for creating causal profiling exes
|
|
include(${CMAKE_CURRENT_LIST_DIR}/causal-helpers.cmake)
|
|
|
|
add_subdirectory(transpose)
|
|
add_subdirectory(parallel-overhead)
|
|
add_subdirectory(code-coverage)
|
|
add_subdirectory(user-api)
|
|
add_subdirectory(openmp)
|
|
add_subdirectory(mpi)
|
|
add_subdirectory(python)
|
|
add_subdirectory(lulesh)
|
|
add_subdirectory(rccl)
|
|
add_subdirectory(rewrite-caller)
|
|
add_subdirectory(causal)
|
|
add_subdirectory(trace-time-window)
|
|
add_subdirectory(fork)
|