Files
rocm-systems/tests/roctx/roctx.hpp
T
Jonathan R. Madsen fa4295db6b Initial Implementation: include (#10)
* 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
2023-08-17 14:59:24 -05:00

47 baris
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