Misc fixes before v1.8.0 release (#239)

* Update timemory submodule for OMPT

- Updated OMPT support for OpenMP 5.2

* omnitrace exe cleanup

- fixed "omnitrace --" segfault
- added nullptr checks

* CMake updates

- moved omnitrace-interface-library definition up a directory
- general cleanup
- fixed branch/tag/ref for git submodule checkouts

* Improve shutdown of causal profiling after duration limit

* Fix dyninst minimum version number

* Removed debug print from binary::get_link_map

* Remove use of thread-pool in causal

* Relax causal testing when variance is high

* causal_gotcha utilities for blocking signals

* Tweak to causal example

* Install validate-causal-json as omnitrace-causal-print

* simplify address_multirange

* improve causal line saving

[ROCm/rocprofiler-systems commit: aadffbe2b1]
This commit is contained in:
Jonathan R. Madsen
2023-02-08 11:54:45 -06:00
committed by GitHub
parent 1c6aaafe96
commit ecc794276c
21 changed files with 244 additions and 96 deletions
@@ -424,7 +424,13 @@ void
compute_eligible_lines()
{
static auto _once = std::once_flag{};
std::call_once(_once, compute_eligible_lines_impl);
std::call_once(_once, []() {
compute_eligible_lines_impl();
auto _cfg = settings::compose_filename_config{};
_cfg.subdirectory = "causal/binary-info";
_cfg.use_suffix = config::get_use_pid();
save_line_info(_cfg, config::get_verbose());
});
}
void
@@ -435,7 +441,7 @@ perform_experiment_impl(std::shared_ptr<std::promise<void>> _started) // NOLINT
using duration_sec_t = std::chrono::duration<double, std::ratio<1>>;
const auto& _thr_info = thread_info::init(true);
OMNITRACE_SCOPED_THREAD_STATE(ThreadState::Internal);
set_thread_state(ThreadState::Disabled);
OMNITRACE_CONDITIONAL_THROW(!_thr_info->is_offset,
"Error! causal profiling thread should be offset");
@@ -919,11 +925,6 @@ start_experimenting()
compute_eligible_lines();
auto _cfg = settings::compose_filename_config{};
_cfg.subdirectory = "causal/binary-info";
_cfg.use_suffix = config::get_use_pid();
save_line_info(_cfg, config::get_verbose());
if(get_state() < State::Finalized)
{
OMNITRACE_SCOPED_SAMPLING_ON_CHILD_THREADS(false);