Files
rocm-systems/source/lib/rocprofiler/config_internal.cpp
T
Jonathan R. Madsen 527aa71f5a Initial skeleton (#1)
* googletest submodule

* cmake folder

* misc root files

- clang-format
- cmake-format
- pyproject.toml
- requirements.txt
- VERSION

* workflows

* RPM files

* external folder

* samples folder

* tests root folder

* source/bin folder

* source/include folder

* source/lib/common folder

* source/lib/plugins folder

* source/lib/tests folder

- for library unit tests

* source/lib/rocprofiler folder

- rocprofiler library implementation

* Remaining cmake files

* lib/common/containers

- ring_buffer
- atomic_ring_buffer
- stable_vector
- static_vector

* Update .gitignore

* Update hsa.hpp

- include cstdint

* cmake formatting (cmake-format) (#2)

Co-authored-by: jrmadsen <jrmadsen@users.noreply.github.com>

* Remove linting.yml

- uses self-hosted runners

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-08 18:39:01 -05:00

29 rivejä
650 B
C++

#include "config_internal.hpp"
namespace rocprofiler
{
namespace internal
{
uint64_t
correlation_config::get_unique_record_id()
{
static auto _v = std::atomic<uint64_t>{};
return _v++;
}
bool
domain_config::operator()(rocprofiler_tracer_activity_domain_t _domain) const
{
return ((1 << _domain) & domains) == (1 << _domain);
}
bool
domain_config::operator()(rocprofiler_tracer_activity_domain_t _domain, uint32_t _op) const
{
auto _offset = (_domain * rocprofiler::internal::domain_ops_offset);
return (*this)(_domain) && (opcodes.none() || opcodes.test(_offset + _op));
}
} // namespace internal
} // namespace rocprofiler