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

Unify tracing infrastructure #55

Open
11 of 13 tasks
rschoene opened this issue Jun 18, 2024 · 4 comments · May be fixed by #65
Open
11 of 13 tasks

Unify tracing infrastructure #55

rschoene opened this issue Jun 18, 2024 · 4 comments · May be fixed by #65

Comments

@rschoene
Copy link
Member

rschoene commented Jun 18, 2024

In order to avoid too many ifdefs in the main code, there should be a header that maps common tracing calls to explicit ones (currently VT and Score-P, but potentially also Caliper and others). Likewise, CMake should then also not have flags for the specific tracing infrastructures, but to files that map the common tracing calls to those of Score-P/Caliper
ToDos:

  • Create a common header for Tracing include/firestarter/measurement/FS-Tracing.h
    • This header should be in C so that it can easily be matched against other C-based libraries
    • The standard implementation in include/firestarter/measurement/FS-Tracing.h should just be some do nothing
    • If a compiler flag indicates the use of a different header, this should be included instead
    • There shall be example implementations for these "different headers" that map calls to this header to Score-P, and maybe others placed in in examples/tracing
  • Tracing examples will not be part of any testing, this should be in the README
  • Replace all Score-P calls with calls to his header
  • Create example implementations for VT and Score-P
  • Remove Score-P Flags from CMake
  • Add Flags to CMake:
    • for passing libraries / library pathes
    • one header (for matching the trace calls from FS and including other headers) and include pathes
    • and maybe one C file for things that cannot be done in the header

(edit: removed VampirTrace)

@rschoene
Copy link
Member Author

Anyone who wants to participate, have a look at the unifytracing branch

@rschoene
Copy link
Member Author

rschoene commented Sep 4, 2024

I opened a branch, comments are welcome

@rschoene rschoene self-assigned this Sep 20, 2024
@rschoene rschoene linked a pull request Sep 20, 2024 that will close this issue
@rschoene
Copy link
Member Author

It seems that tracing infrastructures can be complicated sometimes, so Score-P stuff is back in CMakeLists. Also VampirTrace is discontinued and removed. It might use https://github.com/Deric-W/FindScoreP later on...
But maybe a C-header and some small matching Score-P/Caliper as example implementations would be better...

@rschoene
Copy link
Member Author

For everyone interested: Please refer to the new external interface. There is an example in examples/tracing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant