Files
rocm-systems/tests/generic-tool/generic-tool.cpp
T
Jonathan R. Madsen ab02cb6570 Support ROCP_TOOL_LIBRARIES env + librocprofiler-sdk.so (#48)
* Fix support for version in find_package(rocprofiler-register <version>)

* Update lib/rocprofiler-register/rocprofiler-register.cpp

- change rocprofiler library name to librocprofiler-sdk.so
- add helper function rocp_load_rocprofiler_lib for dlopen of rocprofiler library
- support ROCP_TOOL_LIBRARIES environment variable
- reworked rocprofiler_register_error_string

* Update tests/rocprofiler

- rename library to librocprofiler-sdk
- remove rocprofiler_configure within librocprofiler-sdk.so

* Add tests/generic-tool

- provides implementation of rocprofiler_configure

* Update tests/CMakeLists.txt

- use libgeneric-tool.so
- LD_PRELOAD libgeneric-tool.so instead of librocprofiler
- Add tests which use ROCP_TOOL_LIBRARIES

* Update tests/generic-tool/generic-tool.cpp

- include <cstdint>
2023-11-29 20:58:18 -06:00

47 líneas
1.4 KiB
C++

#include <pthread.h>
#include <cstdint>
#include <stdexcept>
#include <string_view>
extern "C" {
typedef struct
{
const char* name; ///< clients should set this value for debugging
const uint32_t handle; ///< internal handle
} rocprofiler_client_id_t;
typedef void (*rocprofiler_client_finalize_t)(rocprofiler_client_id_t);
typedef int (*rocprofiler_tool_initialize_t)(rocprofiler_client_finalize_t finalize_func,
void* tool_data);
typedef void (*rocprofiler_tool_finalize_t)(void* tool_data);
typedef struct
{
size_t size; ///< in case of future extensions
rocprofiler_tool_initialize_t initialize; ///< context creation
rocprofiler_tool_finalize_t finalize; ///< cleanup
void* tool_data; ///< data to provide to init and fini callbacks
} rocprofiler_tool_configure_result_t;
rocprofiler_tool_configure_result_t*
rocprofiler_configure(uint32_t, const char*, uint32_t, rocprofiler_client_id_t*)
__attribute__((visibility("default")));
rocprofiler_tool_configure_result_t*
rocprofiler_configure(uint32_t version,
const char* runtime_version,
uint32_t priority,
rocprofiler_client_id_t* tool_id)
{
(void) version;
(void) runtime_version;
(void) priority;
(void) tool_id;
return nullptr;
}
}