mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 12:54:11 +08:00
This is follow-up of #164912 to mark unused C++ parameters to improve code readability. Pull Request resolved: https://github.com/pytorch/pytorch/pull/165121 Approved by: https://github.com/Skylion007
55 lines
1.5 KiB
C++
55 lines
1.5 KiB
C++
#include <torch/csrc/profiler/orchestration/python_tracer.h>
|
|
|
|
namespace torch::profiler::impl::python_tracer {
|
|
namespace {
|
|
MakeFn make_fn;
|
|
MakeMemoryFn memory_make_fn;
|
|
|
|
struct NoOpPythonTracer : public PythonTracerBase {
|
|
NoOpPythonTracer() = default;
|
|
~NoOpPythonTracer() override = default;
|
|
|
|
void stop() override {}
|
|
void restart() override {}
|
|
void register_gc_callback() override {}
|
|
std::vector<std::shared_ptr<Result>> getEvents(
|
|
std::function<c10::time_t(c10::approx_time_t)> /*time_converter*/,
|
|
std::vector<CompressedEvent>& /*enters*/,
|
|
c10::time_t /*end_time_ns*/) override {
|
|
return {};
|
|
}
|
|
};
|
|
|
|
struct NoOpMemoryPythonTracer : public PythonMemoryTracerBase {
|
|
NoOpMemoryPythonTracer() = default;
|
|
~NoOpMemoryPythonTracer() override = default;
|
|
void start() override {}
|
|
void stop() override {}
|
|
void export_memory_history(const std::string& /*path*/) override {}
|
|
};
|
|
|
|
} // namespace
|
|
|
|
void registerTracer(MakeFn make_tracer) {
|
|
make_fn = make_tracer;
|
|
}
|
|
|
|
std::unique_ptr<PythonTracerBase> PythonTracerBase::make(RecordQueue* queue) {
|
|
if (make_fn == nullptr) {
|
|
return std::make_unique<NoOpPythonTracer>();
|
|
}
|
|
return make_fn(queue);
|
|
}
|
|
|
|
void registerMemoryTracer(MakeMemoryFn make_memory_tracer) {
|
|
memory_make_fn = make_memory_tracer;
|
|
}
|
|
|
|
std::unique_ptr<PythonMemoryTracerBase> PythonMemoryTracerBase::make() {
|
|
if (memory_make_fn == nullptr) {
|
|
return std::make_unique<NoOpMemoryPythonTracer>();
|
|
}
|
|
return memory_make_fn();
|
|
}
|
|
} // namespace torch::profiler::impl::python_tracer
|