Skip to content
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

Implementation for device query for validate/report names usage #8739

Merged
merged 7 commits into from
Feb 4, 2025

Conversation

aktondak
Copy link
Collaborator

@aktondak aktondak commented Feb 3, 2025

Problem solved by the commit

This PR implements new device queries for getting the list of validate test names and report names from each shim. This list is then used by xrt-smi to run appropriate validate tests and examine reports. The new query uses the same structures used by xrt-smi help printing to make xrt-smi behavior concurrent between help printing and running tests/reports.

Bug / issue (if any) fixed, which PR introduced the bug, how it was discovered

https://jira.xilinx.com/browse/VITIS-14366

How problem was solved, alternative solutions (if any) and why they were rejected

Discovered through internal testing.

Risks (if any) associated the changes in the commits l

None

What has been tested and how, request additional testing if necessary

Tested on Linux and windows platforms

Documentation impact (if any)

None

@gbuildx
Copy link
Collaborator

gbuildx commented Feb 3, 2025

Can one of the admins verify this patch?

@aktondak aktondak changed the title Vitis 14366 Implementation for device query for validate/report names usage Feb 3, 2025
Signed-off-by: Akshay Tondak <[email protected]>
src/runtime_src/core/common/query_requests.h Show resolved Hide resolved
Comment on lines +15 to +22
std::string
get_smi_config();

const xrt_core::smi::tuple_vector&
get_validate_tests();

const xrt_core::smi::tuple_vector&
get_examine_reports();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's odd that these functions are also defined in the base class but not as virtual. Maybe this is what you want, but it is not very clear.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These functions are added to do away with virtual function definition in each derived class which I felt was not required. With this change, each shim derived class overrides the structures "validate_tests" and "examine_reports" in the constructors. These base class APIs then simply return those overridden structures in each derived class and base class structures in case of no shim. This change removes addition of 2 APIs in each shim and takes care of polymorphism in the class constructor itself.

@aktondak aktondak requested a review from stsoe February 3, 2025 22:32
@stsoe stsoe merged commit 0f38220 into Xilinx:master Feb 4, 2025
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants