Skip to content

Commit 989629e

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 27bacff commit 989629e

File tree

2 files changed

+24
-25
lines changed

2 files changed

+24
-25
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 & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -178,38 +178,42 @@ 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);
188184

189-
auto buffer_data_sink = BufferDataSink::create(ptr, 2048);
185+
EValue evalue_int((int64_t)5);
186+
etdump_gen[i]->log_evalue(evalue_int);
187+
188+
EValue evalue_double((double)1.5);
189+
etdump_gen[i]->log_evalue(evalue_double);
190+
191+
EValue evalue_bool(true);
192+
etdump_gen[i]->log_evalue(evalue_bool);
193+
194+
etdump_gen[i]->log_evalue(evalue_bool);
195+
196+
TensorFactory<ScalarType::Float> tf;
197+
EValue evalue_tensor(tf.ones({3, 2}));
190198

191199
// using span to record debug data
200+
Span<uint8_t> buffer((uint8_t*)ptr, 2048);
201+
auto buffer_data_sink = BufferDataSink::create(ptr, 2048);
192202
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");
193206
etdump_gen[i]->set_debug_buffer(buffer);
194207
}
195208
// using data sink to record debug data
196209
else {
197210
etdump_gen[i]->set_data_sink(&buffer_data_sink.get());
198211
}
199212

200-
etdump_gen[i]->log_evalue(evalue);
201-
etdump_gen[i]->log_evalue(evalue, LoggedEValueType::kProgramOutput);
202-
203-
EValue evalue_int((int64_t)5);
204-
etdump_gen[i]->log_evalue(evalue_int);
205213

206-
EValue evalue_double((double)1.5);
207-
etdump_gen[i]->log_evalue(evalue_double);
208-
209-
EValue evalue_bool(true);
210-
etdump_gen[i]->log_evalue(evalue_bool);
211-
212-
etdump_gen[i]->log_evalue(evalue_bool);
214+
etdump_gen[i]->log_evalue(evalue_tensor);
215+
etdump_gen[i]->log_evalue(
216+
evalue_tensor, LoggedEValueType::kProgramOutput);
213217

214218
free(ptr);
215219
}
@@ -487,7 +491,7 @@ TEST_F(ProfilerETDumpTest, LogDelegateIntermediateOutput) {
487491
"test_event_tensor",
488492
static_cast<torch::executor::DebugHandle>(-1),
489493
tf.ones({3, 2})),
490-
"Must pre-set data sink before logging evalue with set_data_sink");
494+
"Must set data sink before writing tensor-like data");
491495
etdump_gen[i]->set_debug_buffer(buffer);
492496
}
493497
// using data sink to record debug data

0 commit comments

Comments
 (0)