Files
pytorch/torch/csrc/profiler/orchestration/python_tracer.cpp
Yuanyuan Chen 36871622f1 [2/N] Mark unused parameters in C++ code (#165121)
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
2025-10-15 03:04:39 +00:00

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