-
Notifications
You must be signed in to change notification settings - Fork 3
Omniprobe parser for bank conflicts #123
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
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
…nsolidated into a single run.sh script Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
…have some notion of versioning Signed-off-by: coleramos425 <colramos@amd.com>
|
CI is a bit fragile at the moment. Will fix soon. |
Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
…ments Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
…nt (first kernel) Signed-off-by: coleramos425 <colramos@amd.com>
…niprobe report with clone suffix Signed-off-by: coleramos425 <colramos@amd.com>
…ntended. Must modify shell cmd to cd to working_directory when specified Signed-off-by: coleramos425 <colramos@amd.com>
…cmds with new implementation Signed-off-by: coleramos425 <colramos@amd.com>
b71a643 to
76c71f3
Compare
Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
| verbose = logging.getLogger().getEffectiveLevel() <= logging.DEBUG | ||
|
|
||
| logging.debug(f"Running the command: {' '.join(subprocess_args)}") | ||
| # logging.debug(f"Running the command: {' '.join(subprocess_args)}") |
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.
Can we uncomment out this line?
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.
Look at line 69 in the same file. It has been commented out here, because the to print the true value of subprocess_args the debug is best here
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.
You can just remove the code commented out code then.
| if additional_path is not None: | ||
| env["PATH"] = str(additional_path) + ":" + env["PATH"] | ||
|
|
||
| if working_directory is not None: |
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.
I am not sure what this logic is doing and why it is needed here. We can't simply change paths since the user may pass something like: intelliperf --project_directory="./" -- ./foo ./my_input_file.
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.
The way we run subprocesses in Intelliperf has changed. Since we are now activating Omniprobe, we must account for the fact that Omniprobe’s exe triggers a nested subprocess.run() call which initializes its own environment, disparate from the environment variables (i.e. PWD) that we initialize in Intelliperf’s capture_subprocess_output() function.
This is why you see that now, if given a working_directory, the function will embed a shell cd command into subprocess_args. This is why I commented out the earlier debug statement, because to be accurate we should print subprocess_args after this conditional.
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.
Omniprobe should respect the environment variables and working dir we set. A command like this intelliperf --project_directory="./" -- ./foo ./my_input_file will break this code.
(Also, I am questioning the whole copy to tmp at the moment but that's for a different PR that I will fix.)
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.
Actually, I take my comment back. This will work fine. I don't understand why Omniprobe will change the working directory though.
mawad-amd
left a comment
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.
This is looking great. Thanks! I left a few comments.
b0c1697 to
f1bb741
Compare
Signed-off-by: coleramos425 <colramos@amd.com>
…vailible Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
|
@mawad-amd feedback has been addressed. Please take another look when you have a chance. Thanks! Updated logs (based on newest changes): |
Edit 8/18Moved containerization material into a separate PR (#142) per request from @mawad-amd |
704c618 to
0f778d4
Compare
Summary
This PR pulls in recent changes made to Omniprobe to support JSON output in the Memory Analysis pipeline, which improves the resiliency of Intelliperf to regex parsing errors
AMDResearch/omniprobe#26
Major changes:
pyproject.tomlnow points to the latest (corresponding) Omniprobe commit and ditches old SSH based cloning strategies in favor of HTTPS to decuple the crutch we had on ssh keys before. Updated Nexus to use the same technique when pulling kerneldbcontainers/run.sh). Improved usability and enabled me to adequately test new Omniprobe functionalityscripts/build_examples.shandCMakeLists.txtto allow user to optionally specify path to their Omniprobe install for instrumentation supportExample:
-o/--omniprobeoption to specify path to Omniprobe install, which is used by CMake to build examples--num-attemptsset to 1 for brevityLogs:
https://gist.github.com/coleramos425/567c7972647e02faa59d7977803f4652