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

Update Variorum Service to use Energy API. #579

Draft
wants to merge 18 commits into
base: master
Choose a base branch
from

Conversation

tpatki
Copy link
Member

@tpatki tpatki commented Aug 1, 2024

Fixes LLNL/variorum#572.

Problem:
The existing Variorum service in Caliper uses the variorum_get_power_json API, which only returns instantaneous power. This is not meaningful when we are looking at function start/end.

Solution:
What we'd like instead is total energy for the function. With Variorum v0.8, we have added the variorum_get_energy_json API. This PR updates the existing service to use this newly added API.

This PR supersedes #567 from @tjeter.

Limitations and future work:
This version of the service will not support nested regions in Caliper. Once LLNL/variorum#575 is addressed, we will update the Caliper service to support nested regions in a separate PR.

Testing:
This PR as been tested with multiple caliper examples (examples/apps/c-spinloop-example) by @rountree and @tpatki on Lassen. This new spinloop example has also been added to the PR.

ToDo:

  • Remove @tpatki's debug prints from this PR.
  • Update associated README on how to use the Variorum Caliper service before merging.
  • Remove m.delta_attr.
  • Format code
  • Test with a real benchmark to make sure we can get function level data and the data is legitimate.

Co-authored by @tjeter.

@tpatki tpatki marked this pull request as draft August 1, 2024 22:48
@tpatki
Copy link
Member Author

tpatki commented Aug 13, 2024

Note: Once LLNL/variorum#575 is addressed, we will update the Caliper service to support nested regions in a separate PR.

@tpatki
Copy link
Member Author

tpatki commented Aug 14, 2024

@daboehme This is ready for your review. Please let me know if I missed something.
Note that this doesn't support nesting yet, but you can get function-level energy values.
I will work on adding support for nesting in Variorum and will update this service soon.

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.

Update Caliper port to report energy.
1 participant