mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Summary: This implements a default backend proxy that tries to look up a backend via dlsym. What this enables is dynamically loading a module with a backend implementation without having it statically linked with the application. Differential Revision: D62549295 Pull Request resolved: https://github.com/pytorch/pytorch/pull/135967 Approved by: https://github.com/c-p-i-o
22 lines
662 B
C++
22 lines
662 B
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include <string_view>
|
|
|
|
namespace c10::monitor::detail {
|
|
|
|
struct WaitCounterDynamicBackend {
|
|
void* self{nullptr};
|
|
intptr_t (*start)(void* self, int64_t nowUs){nullptr};
|
|
void (*stop)(void* self, int64_t nowUs, intptr_t ctx){nullptr};
|
|
void (*destroy)(void* self){nullptr};
|
|
};
|
|
|
|
using WaitCounterDynamicBackendInit =
|
|
void (*)(WaitCounterDynamicBackend*, const char* key, std::size_t keyLen);
|
|
|
|
// This name needs to be updated if anything in the API above is changed.
|
|
constexpr std::string_view kWaitCounterDynamicBackendInitFn =
|
|
"c10_monitor_wait_counter_dynamic_backend_init_v1";
|
|
} // namespace c10::monitor::detail
|