Skip to content

Commit caed8b7

Browse files
cccclaifacebook-github-bot
authored andcommitted
use etdump instead of event tracer (#8968)
Summary: Use an actual event tracer implementation - ETDumpGen, so we can do profiling and logging in module base class Differential Revision: D70356526
1 parent 27bc7ef commit caed8b7

File tree

3 files changed

+17
-11
lines changed

3 files changed

+17
-11
lines changed

extension/module/module.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ runtime::Result<std::unique_ptr<runtime::DataLoader>> load_file(
6666
Module::Module(
6767
const std::string& file_path,
6868
const LoadMode load_mode,
69-
std::unique_ptr<runtime::EventTracer> event_tracer)
69+
std::unique_ptr<etdump::ETDumpGen> event_tracer)
7070
: file_path_(file_path),
7171
load_mode_(load_mode),
7272
memory_allocator_(std::make_unique<MallocMemoryAllocator>()),
@@ -81,7 +81,7 @@ Module::Module(
8181
const std::string& file_path,
8282
const std::string& data_map_path,
8383
const LoadMode load_mode,
84-
std::unique_ptr<runtime::EventTracer> event_tracer)
84+
std::unique_ptr<etdump::ETDumpGen> event_tracer)
8585
: file_path_(file_path),
8686
data_map_path_(data_map_path),
8787
load_mode_(load_mode),
@@ -97,7 +97,7 @@ Module::Module(
9797
std::unique_ptr<runtime::DataLoader> data_loader,
9898
std::unique_ptr<runtime::MemoryAllocator> memory_allocator,
9999
std::unique_ptr<runtime::MemoryAllocator> temp_allocator,
100-
std::unique_ptr<runtime::EventTracer> event_tracer,
100+
std::unique_ptr<etdump::ETDumpGen> event_tracer,
101101
std::unique_ptr<runtime::DataLoader> data_map_loader)
102102
: data_loader_(std::move(data_loader)),
103103
memory_allocator_(
@@ -116,7 +116,7 @@ Module::Module(
116116
std::shared_ptr<runtime::Program> program,
117117
std::unique_ptr<runtime::MemoryAllocator> memory_allocator,
118118
std::unique_ptr<runtime::MemoryAllocator> temp_allocator,
119-
std::unique_ptr<runtime::EventTracer> event_tracer,
119+
std::unique_ptr<etdump::ETDumpGen> event_tracer,
120120
std::unique_ptr<runtime::DataLoader> data_map_loader)
121121
: program_(std::move(program)),
122122
memory_allocator_(
@@ -292,5 +292,6 @@ runtime::Error Module::set_output(
292292
output_tensor.mutable_data_ptr(), output_tensor.nbytes(), output_index);
293293
}
294294

295+
295296
} // namespace extension
296297
} // namespace executorch

extension/module/module.h

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#include <unordered_map>
1414
#include <unordered_set>
1515
#include <vector>
16-
16+
#include <executorch/devtools/etdump/etdump_flatcc.h>
1717
#include <executorch/runtime/executor/program.h>
1818

1919
namespace executorch {
@@ -49,7 +49,7 @@ class Module {
4949
explicit Module(
5050
const std::string& file_path,
5151
const LoadMode load_mode = LoadMode::MmapUseMlock,
52-
std::unique_ptr<runtime::EventTracer> event_tracer = nullptr);
52+
std::unique_ptr<etdump::ETDumpGen> event_tracer = nullptr);
5353

5454
/**
5555
* Constructs an instance by loading a program from a file with specified
@@ -64,7 +64,7 @@ class Module {
6464
const std::string& file_path,
6565
const std::string& data_map_path,
6666
const LoadMode load_mode = LoadMode::MmapUseMlock,
67-
std::unique_ptr<runtime::EventTracer> event_tracer = nullptr);
67+
std::unique_ptr<etdump::ETDumpGen> event_tracer = nullptr);
6868

6969
/**
7070
* Constructs an instance with the provided data loader and memory allocator.
@@ -80,7 +80,7 @@ class Module {
8080
std::unique_ptr<runtime::DataLoader> data_loader,
8181
std::unique_ptr<runtime::MemoryAllocator> memory_allocator = nullptr,
8282
std::unique_ptr<runtime::MemoryAllocator> temp_allocator = nullptr,
83-
std::unique_ptr<runtime::EventTracer> event_tracer = nullptr,
83+
std::unique_ptr<etdump::ETDumpGen> event_tracer = nullptr,
8484
std::unique_ptr<runtime::DataLoader> data_map_loader = nullptr);
8585

8686
/**
@@ -98,7 +98,7 @@ class Module {
9898
std::shared_ptr<runtime::Program> program,
9999
std::unique_ptr<runtime::MemoryAllocator> memory_allocator = nullptr,
100100
std::unique_ptr<runtime::MemoryAllocator> temp_allocator = nullptr,
101-
std::unique_ptr<runtime::EventTracer> event_tracer = nullptr,
101+
std::unique_ptr<etdump::ETDumpGen> event_tracer = nullptr,
102102
std::unique_ptr<runtime::DataLoader> data_map_loader = nullptr);
103103

104104
Module(const Module&) = delete;
@@ -438,10 +438,14 @@ class Module {
438438
* @returns A pointer to the EventTracer instance. Returns nullptr if no
439439
* EventTracer is set.
440440
*/
441-
inline runtime::EventTracer* event_tracer() const {
441+
inline etdump::ETDumpGen* event_tracer() const {
442442
return event_tracer_.get();
443443
}
444444

445+
bool has_etdump() {
446+
return static_cast<bool>(event_tracer_);
447+
}
448+
445449
private:
446450
struct MethodHolder {
447451
std::vector<std::vector<uint8_t>> planned_buffers;
@@ -459,7 +463,7 @@ class Module {
459463
std::unique_ptr<runtime::DataLoader> data_loader_;
460464
std::unique_ptr<runtime::MemoryAllocator> memory_allocator_;
461465
std::unique_ptr<runtime::MemoryAllocator> temp_allocator_;
462-
std::unique_ptr<runtime::EventTracer> event_tracer_;
466+
std::unique_ptr<etdump::ETDumpGen> event_tracer_;
463467
std::unique_ptr<runtime::DataLoader> data_map_loader_;
464468
std::unique_ptr<runtime::NamedDataMap> data_map_;
465469

extension/module/targets.bzl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ def define_common_targets():
2828
"//executorch/extension/flat_tensor:flat_tensor_data_map",
2929
],
3030
exported_deps = [
31+
"//executorch/devtools/etdump:etdump_flatcc" + aten_suffix,
3132
"//executorch/runtime/executor:program" + aten_suffix,
3233
],
3334
)

0 commit comments

Comments
 (0)