-
Notifications
You must be signed in to change notification settings - Fork 769
[XPTI][INFRA] Sample E2E data collection timing test for XPTI #13045
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
+ There is no infrastructure to record the performance impact due to changes in the framework on the entire stack. + Re-organizes some helper functions that will eventually support the testing framework Signed-off-by: Vasanth Tovinkere <[email protected]>
Signed-off-by: Vasanth Tovinkere <[email protected]>
+ Initial check in of the infrastructure Signed-off-by: Vasanth Tovinkere <[email protected]>
+ Allows the use of "none" for format field in case the measurements need to include the capture of the data and not writing out to a file Signed-off-by: Vasanth Tovinkere <[email protected]>
+ Added clean up of all allocated objects Signed-off-by: Vasanth Tovinkere <[email protected]>
This reverts commit 186d52a.
Signed-off-by: Vasanth Tovinkere <[email protected]>
+ Converted the last static variable to be dynamically allocated + Added verbose option to allow the collector to print information for debugging Signed-off-by: Vasanth Tovinkere <[email protected]>
✅ With the latest revision this PR passed the C/C++ code formatter. |
Signed-off-by: Vasanth Tovinkere <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks ok overall
xptiRegisterCallback(StreamID, | ||
(uint16_t)xpti::trace_point_type_t::function_end, | ||
syclPiCallback); | ||
} else if (std::string("sycl.perf") == stream_name && Check) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is sycl.perf and sycl.perf.detail is enabled at the same time? will we handle them proper;y in the same callback function?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@KseniyaTikhomirova Those to could be removed as it is from a later patch. sycl.perf/sycl.perf.detail is being considered to complement the the "sycl" stream.
return; | ||
record_and_save("sycl.experimental.mem_alloc", (Event ? Event : Parent), | ||
TraceType, Instance, | ||
(TraceType & 0x0001) ? "Memory_allocation_end" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why capital latters? would be better to use the same style as for other traces.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, was probably a typo.
Signed-off-by: Vasanth Tovinkere <[email protected]>
Signed-off-by: Vasanth Tovinkere <[email protected]>
+ The output messages are now broken into verbose and debug to differentiate progress messages from debug output + The collector by default does not subscribe to levelzero or Cuda streams as they are dependent on the system and L0 tracer success. All streams subscribed by default will succeed in the current implementation. Signed-off-by: Vasanth Tovinkere <[email protected]>
The failure is due to this issue #13149 and not related to this PR. |
Signed-off-by: Vasanth Tovinkere <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
XPTI has unit tests that time the cost of each individual framework action, but an E2E timing test isn't available. This PR adds a new sample collector that shows how data can be pulled from the SYCL runtime using XPTI and provides timing information for the callback handler costs/event.
Allows: