restructure libomnitrace + tasking and omnitrace-causal updates (#237)
* restructured libomnitrace
- this is necessary to incorporate some of the binary analysis capabilities into omnitrace exe
- created libomnitrace-core (static)
- created libomnitrace-binary (static)
- created libomnitrace (static)
- omnitrace-avail links to libomnitrace.a
- omnitrace-critical-trace links to libomnitrace.a
- tweaked the testing
- reduced verbosity on some of MPI tests
- excluded trace-time-window from tests on Ubuntu 18.04
- reduced causal e2e iterations
- minor tweak to tasking
- manually create `PTL::UserTaskQueue` instance instead of relying on `PTL::ThreadPool` to create it
* Update formatting workflow
- source formatting uses ubuntu-22.04
- check-includes doesn't generate false positive for 'include "timemory.hpp"'
* omnitrace-causal --generate-configs
- fix config generation in omnitrace causal
- add test for omnitrace-causal + generating configs
* Fix omnitrace-object-library build
- accidentally included rocm sources in non-rocm builds
* Fix rocm compilation w/o rocprofiler
* update timemory submodule with mpi_get warning messages
* sampling offload file updates
- more verbose messages
- disable offload before stopping
* testing updates
- increase causal e2e iterations to 12
- increase lock_environment verbose to 2 (for sampling offload messages)
- fix return for omnitrace_add_validation_test
[ROCm/rocprofiler-systems commit: e7d3125459]
Este cometimento está contido em:
cometido por
GitHub
ascendente
7e63db9441
cometimento
b2bedda138
@@ -304,6 +304,20 @@ if(OMNITRACE_USE_MPI OR OMNITRACE_USE_MPI_HEADERS)
|
||||
)
|
||||
|
||||
set(_mpip_environment
|
||||
"OMNITRACE_USE_PERFETTO=ON"
|
||||
"OMNITRACE_USE_TIMEMORY=ON"
|
||||
"OMNITRACE_USE_SAMPLING=OFF"
|
||||
"OMNITRACE_USE_PROCESS_SAMPLING=OFF"
|
||||
"OMNITRACE_TIME_OUTPUT=OFF"
|
||||
"OMNITRACE_FILE_OUTPUT=ON"
|
||||
"OMNITRACE_USE_MPIP=ON"
|
||||
"OMNITRACE_DEBUG=OFF"
|
||||
"OMNITRACE_VERBOSE=2"
|
||||
"OMNITRACE_DL_VERBOSE=2"
|
||||
"${_test_openmp_env}"
|
||||
"${_test_library_path}")
|
||||
|
||||
set(_mpip_all2all_environment
|
||||
"OMNITRACE_USE_PERFETTO=ON"
|
||||
"OMNITRACE_USE_TIMEMORY=ON"
|
||||
"OMNITRACE_USE_SAMPLING=OFF"
|
||||
@@ -314,12 +328,13 @@ if(OMNITRACE_USE_MPI OR OMNITRACE_USE_MPI_HEADERS)
|
||||
"OMNITRACE_DEBUG=ON"
|
||||
"OMNITRACE_VERBOSE=3"
|
||||
"OMNITRACE_DL_VERBOSE=3"
|
||||
"OMNITRACE_SAMPLING_DELAY=1"
|
||||
"OMNITRACE_SAMPLING_FREQ=0.001"
|
||||
"${_test_openmp_env}"
|
||||
"${_test_library_path}")
|
||||
|
||||
foreach(_EXAMPLE all2all allgather allreduce bcast reduce scatter-gather send-recv)
|
||||
if("${_mpip_${_EXAMPLE}_environment}" STREQUAL "")
|
||||
set(_mpip_${_EXAMPLE}_environment "${_mpip_environment}")
|
||||
endif()
|
||||
omnitrace_add_test(
|
||||
SKIP_RUNTIME SKIP_SAMPLING
|
||||
NAME "mpi-${_EXAMPLE}"
|
||||
@@ -329,7 +344,7 @@ if(OMNITRACE_USE_MPI OR OMNITRACE_USE_MPI_HEADERS)
|
||||
LABELS "mpip"
|
||||
REWRITE_ARGS -e -v 2 --label file line --min-instructions 0
|
||||
RUN_ARGS 30
|
||||
ENVIRONMENT "${_mpip_environment}")
|
||||
ENVIRONMENT "${_mpip_${_EXAMPLE}_environment}")
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
@@ -684,8 +699,12 @@ omnitrace_add_test(
|
||||
RUNTIME_PASS_REGEX "(\\\[[0-9]+\\\]) function coverage :: 66.67%"
|
||||
REWRITE_RUN_PASS_REGEX "(\\\[[0-9]+\\\]) function coverage :: 66.67%")
|
||||
|
||||
if(_OS_RELEASE STREQUAL "ubuntu-18.04")
|
||||
set(_TRACE_WINDOW_SKIP SKIP_RUNTIME)
|
||||
endif()
|
||||
|
||||
omnitrace_add_test(
|
||||
SKIP_BASELINE SKIP_SAMPLING SKIP_PRELOAD
|
||||
SKIP_BASELINE SKIP_SAMPLING SKIP_PRELOAD ${_TRACE_WINDOW_SKIP}
|
||||
NAME trace-time-window
|
||||
TARGET trace-time-window
|
||||
REWRITE_ARGS -e -v 2 --caller-include inner -i 4096
|
||||
@@ -744,7 +763,7 @@ omnitrace_add_validation_test(
|
||||
-p)
|
||||
|
||||
omnitrace_add_test(
|
||||
SKIP_BASELINE SKIP_SAMPLING SKIP_PRELOAD
|
||||
SKIP_BASELINE SKIP_SAMPLING SKIP_PRELOAD ${_TRACE_WINDOW_SKIP}
|
||||
NAME trace-time-window-delay
|
||||
TARGET trace-time-window
|
||||
REWRITE_ARGS -e -v 2 --caller-include inner -i 4096
|
||||
@@ -986,6 +1005,28 @@ omnitrace_add_causal_test(
|
||||
"Starting causal experiment #1(.*)causal/experiments.json(.*)causal/experiments.coz"
|
||||
)
|
||||
|
||||
omnitrace_add_causal_test(
|
||||
NAME both-omni-func
|
||||
TARGET causal-both-omni
|
||||
RUN_ARGS 70 10 432525 400000000
|
||||
CAUSAL_MODE "function"
|
||||
CAUSAL_ARGS
|
||||
-w
|
||||
1
|
||||
-d
|
||||
3
|
||||
--monochrome
|
||||
-g
|
||||
${CMAKE_BINARY_DIR}/omnitrace-tests-config/causal-both-omni-func
|
||||
-l
|
||||
causal-both-omni
|
||||
-v
|
||||
3
|
||||
ENVIRONMENT "OMNITRACE_STRICT_CONFIG=OFF"
|
||||
CAUSAL_PASS_REGEX
|
||||
"Starting causal experiment #1(.*)causal/experiments.json(.*)causal/experiments.coz"
|
||||
)
|
||||
|
||||
omnitrace_add_causal_test(
|
||||
NAME lulesh-func
|
||||
TARGET lulesh-omni
|
||||
@@ -1019,7 +1060,7 @@ omnitrace_add_causal_test(
|
||||
)
|
||||
|
||||
set(_causal_common_args
|
||||
"-n 20 -e -s 0 10 20 30 -B $<TARGET_FILE_BASE_NAME:causal-cpu-omni>")
|
||||
"-n 12 -e -s 0 10 20 30 -B $<TARGET_FILE_BASE_NAME:causal-cpu-omni>")
|
||||
|
||||
macro(
|
||||
causal_e2e_args_and_validation
|
||||
|
||||
@@ -3,6 +3,20 @@
|
||||
#
|
||||
include_guard(DIRECTORY)
|
||||
|
||||
if(EXISTS /etc/os-release AND NOT IS_DIRECTORY /etc/os-release)
|
||||
file(READ /etc/os-release _OS_RELEASE_RAW)
|
||||
|
||||
if(_OS_RELEASE_RAW)
|
||||
string(REPLACE "\"" "" _OS_RELEASE_RAW "${_OS_RELEASE_RAW}")
|
||||
string(REPLACE "-" " " _OS_RELEASE_RAW "${_OS_RELEASE_RAW}")
|
||||
string(REGEX REPLACE "NAME=.*\nVERSION=([0-9]+)\.([0-9]+).*\nID=([a-z]+).*"
|
||||
"\\3-\\1.\\2" _OS_RELEASE "${_OS_RELEASE_RAW}")
|
||||
endif()
|
||||
unset(_OS_RELEASE_RAW)
|
||||
endif()
|
||||
|
||||
omnitrace_message(STATUS "OS release: ${_OS_RELEASE}")
|
||||
|
||||
if(NOT OMNITRACE_DYNINST_API_RT_DIR AND OMNITRACE_DYNINST_API_RT)
|
||||
get_filename_component(OMNITRACE_DYNINST_API_RT_DIR "${OMNITRACE_DYNINST_API_RT}"
|
||||
DIRECTORY)
|
||||
@@ -74,6 +88,7 @@ set(_lock_environment
|
||||
"OMNITRACE_COUT_OUTPUT=ON"
|
||||
"OMNITRACE_TIME_OUTPUT=OFF"
|
||||
"OMNITRACE_TIMELINE_PROFILE=OFF"
|
||||
"OMNITRACE_VERBOSE=2"
|
||||
"${_test_library_path}")
|
||||
|
||||
set(_critical_trace_environment
|
||||
@@ -827,6 +842,13 @@ function(OMNITRACE_ADD_VALIDATION_TEST)
|
||||
"ENVIRONMENT;LABELS;PROPERTIES;PASS_REGEX;FAIL_REGEX;SKIP_REGEX;DEPENDS;ARGS"
|
||||
${ARGN})
|
||||
|
||||
if(NOT TEST "${TEST_NAME}")
|
||||
omnitrace_message(
|
||||
AUTHOR_WARNING
|
||||
"No validation test(s) for ${TEST_NAME} because test does not exist")
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(NOT TEST_TIMEOUT)
|
||||
set(TEST_TIMEOUT 30)
|
||||
endif()
|
||||
|
||||
Criar uma nova questão referindo esta
Bloquear um utilizador