Skip to content

Commit c091960

Browse files
sraikund16facebook-github-bot
authored andcommitted
Roctracer events show up out of order (#990)
Summary: Pull Request resolved: #990 Add debug to show that some events in roctracer can start before the previous one ends Differential Revision: D63033163
1 parent 3d355d1 commit c091960

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

libkineto/src/RoctracerLogger.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,8 @@ void RoctracerLogger::activity_callback(const char* begin, const char* end, void
301301
std::unique_lock<std::mutex> lock(s_flush.mutex_);
302302
const roctracer_record_t* record = (const roctracer_record_t*)(begin);
303303
const roctracer_record_t* end_record = (const roctracer_record_t*)(end);
304-
304+
static uint64_t last_end = 0;
305+
static std::string last_kernel_name = "";
305306
while (record < end_record) {
306307
if (record->correlation_id > s_flush.maxCompletedCorrelationId_) {
307308
s_flush.maxCompletedCorrelationId_ = record->correlation_id;
@@ -320,6 +321,11 @@ void RoctracerLogger::activity_callback(const char* begin, const char* end, void
320321
? demangle(record->kernel_name)
321322
: std::string()
322323
);
324+
if (record->begin_ns < last_end && !row->kernelName.empty() && !last_kernel_name.empty()) {
325+
LOG(WARNING) << "Out of order activity: " << record->begin_ns << " < " << last_end << ". Difference: " << (last_end - record->begin_ns) << " ns. Kernel: " << row->kernelName << " last Kernel: " << last_kernel_name;
326+
}
327+
last_end = record->end_ns;
328+
last_kernel_name = row->kernelName;
323329
insert_row_to_buffer(row);
324330
roctracer_next_record(record, &record);
325331
}

0 commit comments

Comments
 (0)