7e6e33cfce
* Initial Implementation: include
* Initial Implementation: lib details (#11)
* Initial Implementation: lib details
* Initial Implementation: lib (#12)
* Initial Implementation: lib
* Initial Implementation: source (#13)
* Initial Implementation: source
* Initial Implementation: samples (#14)
* Initial Implementation: samples
* Initial Implementation: tests (#15)
* Initial Implementation: tests
* Initial Implementation: scripts (#16)
* Initial Implementation: scripts
* Initial Implementation: cmake (#17)
* Initial Implementation: cmake
* Initial Implementation: top-level files (#18)
* Initial Implementation: top-level files
- clang-format
- clang-tidy
- cmake-format
- ignore build and cache directories
- main CMakeLists.txt
- pyproject.toml (python formatting)
- VERSION file
* Initial Implementation: workflow (#19)
* Fix unused variable
- rocprofiler_register_warn_level
[ROCm/rocprofiler-register commit: fa4295db6b]
47 lines
1.0 KiB
C++
47 lines
1.0 KiB
C++
#pragma once
|
|
|
|
#define ROCTX_VERSION_MAJOR 4
|
|
#define ROCTX_VERSION_MINOR 6
|
|
#define ROCTX_VERSION_PATCH 1
|
|
|
|
#include <cstdint>
|
|
|
|
extern "C" {
|
|
void
|
|
roctxRangePush(const char*) __attribute__((visibility("default")));
|
|
void
|
|
roctxRangePop(const char*) __attribute__((visibility("default")));
|
|
}
|
|
|
|
namespace roctx
|
|
{
|
|
struct ROCTxApiTable
|
|
{
|
|
uint64_t size = 0;
|
|
decltype(::roctxRangePush)* roctxRangePush_fn = nullptr;
|
|
decltype(::roctxRangePop)* roctxRangePop_fn = nullptr;
|
|
};
|
|
|
|
void
|
|
roctx_range_push(const char*);
|
|
|
|
void
|
|
roctx_range_pop(const char*);
|
|
|
|
// populates roctx api table with function pointers
|
|
inline void
|
|
initialize_roctx_api_table(ROCTxApiTable* dst)
|
|
{
|
|
dst->size = sizeof(ROCTxApiTable);
|
|
dst->roctxRangePush_fn = &::roctx::roctx_range_push;
|
|
dst->roctxRangePop_fn = &::roctx::roctx_range_pop;
|
|
}
|
|
|
|
// copies the api table from src to dst
|
|
inline void
|
|
copy_roctx_api_table(ROCTxApiTable* dst, const ROCTxApiTable* src)
|
|
{
|
|
*dst = *src;
|
|
}
|
|
} // namespace roctx
|