Skip to content

Commit ef57c18

Browse files
Gasoonjiafacebook-github-bot
authored andcommitted
removed unnecessary datasink checks (#9211)
Summary: This diff removes unnecessary datasink checks in etdump to avoid false alarm when user dumping debug data. Reviewed By: Jack-Khuu Differential Revision: D71081481
1 parent 7901539 commit ef57c18

File tree

2 files changed

+24
-26
lines changed

2 files changed

+24
-26
lines changed

devtools/etdump/etdump_flatcc.cpp

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -351,10 +351,6 @@ void ETDumpGen::log_intermediate_output_delegate_helper(
351351
(name == nullptr) ^ (delegate_debug_index == -1),
352352
"Only name or delegate_debug_index can be valid. Check DelegateMappingBuilder documentation for more details.");
353353

354-
ET_CHECK_MSG(
355-
data_sink_,
356-
"Must pre-set data sink before logging evalue with set_data_sink() or set_debug_buffer()\n");
357-
358354
check_ready_to_add_events();
359355
int64_t string_id = name != nullptr ? create_string_entry(name) : -1;
360356

@@ -515,8 +511,6 @@ void ETDumpGen::set_data_sink(DataSinkBase* data_sink) {
515511
}
516512

517513
void ETDumpGen::log_evalue(const EValue& evalue, LoggedEValueType evalue_type) {
518-
ET_CHECK_MSG(data_sink_, "Must set data sink before logging evalue\n");
519-
520514
check_ready_to_add_events();
521515

522516
etdump_DebugEvent_start(builder_);
@@ -650,7 +644,8 @@ long ETDumpGen::write_tensor_or_raise_error(Tensor tensor) {
650644
return static_cast<size_t>(-1);
651645
}
652646

653-
ET_CHECK_MSG(data_sink_, "Must set data sink before writing data");
647+
ET_CHECK_MSG(
648+
data_sink_, "Must set data sink before writing tensor-like data");
654649
Result<size_t> ret =
655650
data_sink_->write(tensor.const_data_ptr(), tensor.nbytes());
656651
ET_CHECK_MSG(

devtools/etdump/tests/etdump_test.cpp

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -178,27 +178,9 @@ TEST_F(ProfilerETDumpTest, AllocationEvents) {
178178
TEST_F(ProfilerETDumpTest, DebugEvent) {
179179
for (size_t i = 0; i < 2; i++) {
180180
for (size_t j = 0; j < 2; j++) {
181-
TensorFactory<ScalarType::Float> tf;
182-
EValue evalue(tf.ones({3, 2}));
183-
184181
etdump_gen[i]->create_event_block("test_block");
185182

186183
void* ptr = malloc(2048);
187-
Span<uint8_t> buffer((uint8_t*)ptr, 2048);
188-
189-
auto buffer_data_sink = BufferDataSink::create(ptr, 2048);
190-
191-
// using span to record debug data
192-
if (j == 0) {
193-
etdump_gen[i]->set_debug_buffer(buffer);
194-
}
195-
// using data sink to record debug data
196-
else {
197-
etdump_gen[i]->set_data_sink(&buffer_data_sink.get());
198-
}
199-
200-
etdump_gen[i]->log_evalue(evalue);
201-
etdump_gen[i]->log_evalue(evalue, LoggedEValueType::kProgramOutput);
202184

203185
EValue evalue_int((int64_t)5);
204186
etdump_gen[i]->log_evalue(evalue_int);
@@ -211,6 +193,27 @@ TEST_F(ProfilerETDumpTest, DebugEvent) {
211193

212194
etdump_gen[i]->log_evalue(evalue_bool);
213195

196+
TensorFactory<ScalarType::Float> tf;
197+
EValue evalue_tensor(tf.ones({3, 2}));
198+
199+
// using span to record debug data
200+
Span<uint8_t> buffer((uint8_t*)ptr, 2048);
201+
auto buffer_data_sink = BufferDataSink::create(ptr, 2048);
202+
if (j == 0) {
203+
ET_EXPECT_DEATH(
204+
etdump_gen[i]->log_evalue(evalue_tensor),
205+
"Must set data sink before writing tensor-like data");
206+
etdump_gen[i]->set_debug_buffer(buffer);
207+
}
208+
// using data sink to record debug data
209+
else {
210+
etdump_gen[i]->set_data_sink(&buffer_data_sink.get());
211+
}
212+
213+
etdump_gen[i]->log_evalue(evalue_tensor);
214+
etdump_gen[i]->log_evalue(
215+
evalue_tensor, LoggedEValueType::kProgramOutput);
216+
214217
free(ptr);
215218
}
216219
}
@@ -487,7 +490,7 @@ TEST_F(ProfilerETDumpTest, LogDelegateIntermediateOutput) {
487490
"test_event_tensor",
488491
static_cast<torch::executor::DebugHandle>(-1),
489492
tf.ones({3, 2})),
490-
"Must pre-set data sink before logging evalue with set_data_sink");
493+
"Must set data sink before writing tensor-like data");
491494
etdump_gen[i]->set_debug_buffer(buffer);
492495
}
493496
// using data sink to record debug data

0 commit comments

Comments
 (0)