WIP Caliper integration and instrumentation#130
Closed
slabasan wants to merge 17 commits intoflux-framework:mainfrom
Closed
WIP Caliper integration and instrumentation#130slabasan wants to merge 17 commits intoflux-framework:mainfrom
slabasan wants to merge 17 commits intoflux-framework:mainfrom
Conversation
5504b98 to
efc3e39
Compare
b43125d to
48b5b29
Compare
needs updates for make build systems
2cd73fe to
e4c3f30
Compare
Member
Contributor
|
This is super cool! It was awesome to hear about it in the AHM today. I wanted to share one update from Caliper that might be useful to integrate into this PR (or a follow up). Since version 2.12.0 (from November 2024), Caliper has a Python API. It may be interesting to add Caliper support into the Python API of PerfFlow, similar (but much easier) to how you have added it to the C/C++ API. |
Member
|
Absolutely, @ilumsden, it'll be great to have the Caliper Python API integration as well! I'll create an issue for this, |
Member
Collaborator
Author
|
A new PR needs to be opened to replace this one. This PR targeted the old pass manager (work on this was started before we pinned PFA to clang18). |
Member
|
New PR created #190. Closing. |
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Supersedes #118
TODO:
find_package(caliper)should follow current pattern with other dependencies (this was initially done before we refactored thefind_packagecalls after running into issues on turing)config/*.cmakefiles to indicate to external software that perfflowaspect was built (or not built) with caliper --> bigger lift as this will require testing integration of PFA+caliper with other software tools, maybe this becomes a second PR, but realistically should be a single PR since external tools will link against these cmake filesCopying over notes from #118:
Couple of things before we can merge:
LLVM function names that get passed to Caliper (eg
_Z3fooRKsinstead of justfoo) look confusing and don't match the original function name. Let's see if we can do better.Caliper should not be "required" library. Many users may not need low-level perf counter details on their workflow and may just want the timeline traces. So, we need to add in an option/flag that determines if PFA should be built with Caliper for users who want something fine grained. With multiple workflow components eg in MuMMI or AHA Moles, we don't need this detail all the time and simple timelines are sufficient.
We need to update the CI to match these build changes (we need to build caliper in the CI tests)
We need to add detailed docs:
CALI_CONFIG=runtime-report ./smoketestorCALI_CONFIG=runtime-report,output=test.cali ./smoketestor something with cali-query) and show the corresponding generated output, and