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
کامیت شده توسط GitHub
والد 1c6aaafe96
کامیت ecc794276c
21فایلهای تغییر یافته به همراه244 افزوده شده و 96 حذف شده
@@ -25,6 +25,7 @@
#include "core/concepts.hpp"
#include "core/config.hpp"
#include "core/debug.hpp"
#include "core/locking.hpp"
#include "core/state.hpp"
#include "core/utility.hpp"
#include "library/causal/components/backtrace.hpp"
@@ -172,12 +173,10 @@ causal_offload_buffer(int64_t, causal_sampler_buffer_t&& _buf)
if(!_processed.empty())
{
tasking::general::get_task_group().exec([_processed]() {
static std::mutex _mutex;
auto _lk = std::scoped_lock<std::mutex>{ _mutex };
for(const auto& itr : _processed)
add_samples(itr.first, itr.second);
});
static auto _mutex = locking::atomic_mutex{};
auto _lk = locking::atomic_lock{ _mutex };
for(const auto& itr : _processed)
add_samples(itr.first, itr.second);
}
}
@@ -252,11 +251,16 @@ configure(bool _setup, int64_t _tid)
for(int64_t i = 1; i < OMNITRACE_MAX_THREADS; ++i)
{
if(get_causal_sampler(i)) get_causal_sampler(i)->reset();
if(get_causal_sampler(i))
{
get_causal_sampler(i)->stop();
get_causal_sampler(i)->reset();
}
}
}
_causal->stop();
_causal->reset();
OMNITRACE_DEBUG("Causal sampler destroyed for thread %lu\n", _tid);
}
@@ -293,11 +297,13 @@ void
block_samples()
{
trait::runtime_enabled<causal_sampler_t>::set(false);
trait::runtime_enabled<causal::component::backtrace>::set(false);
}
void
unblock_samples()
{
trait::runtime_enabled<causal::component::backtrace>::set(true);
trait::runtime_enabled<causal_sampler_t>::set(true);
}
@@ -327,6 +333,8 @@ post_process()
OMNITRACE_VERBOSE(2 || get_debug_sampling(),
"Stopping causal sampling components...\n");
block_samples();
for(size_t i = 0; i < max_supported_threads; ++i)
{
auto& _causal = get_causal_sampler(i);