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:
کامیت شده توسط
GitHub
والد
1c6aaafe96
کامیت
ecc794276c
@@ -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);
|
||||
|
||||
مرجع در شماره جدید
Block a user