The ompt-multiplex.h header allows to use multiple OMPT tools at a time.
Example usage is given in the tests directory.
Details on usage in README.md
Differential D76012
[OpenMP][Tool] Header-only multiplexing of OMPT tools protze.joachim on Mar 11 2020, 11:02 AM. Authored by
Details The ompt-multiplex.h header allows to use multiple OMPT tools at a time. Details on usage in README.md
Diff Detail
Event Timeline
Comment Actions Addressed the comments from Johannes. Increased reuse of callback.h for the test file custom_data_storage.c.first.tool.c
Comment Actions lit would warn about missing run lines for these C files, implementing the tool libraries. I think, I can rename the test application to suffix .app.c and change the test suffix to this. Comment Actions Ok, this is not how suffix works in lit :( Just for reference, if I remove the RUN line, the output of make check-ompt-multiplex will contain this: UNRESOLVED: OMPT multiplex :: custom_data_storage/custom_data_storage.app.c.second.tool.c (1 of 6) ******************** TEST 'OMPT multiplex :: custom_data_storage/custom_data_storage.app.c.second.tool.c' FAILED ******************** Test has no run line! ******************** I could change the lines to: // RUN: do-not-run // REQUIRES: do-not-run But then we always have 2 successful, 4 unsupported tests listed instead of 6 successful tests. Comment Actions As an alternative, I could make the tools header files, which are conditionally included: #ifdef FIRST #include <first_tool.h> #elif SECOND #include <second_tool.h> #else ... current app content #endif Then we have only one C file, which has the app code and the test expressions. The tool libraries are compiled from the header files. Comment Actions Assuming I understand this properly, this makes sense. Some places we also have test/Inputs/ folders for "include headers" but if they can live right in the print folder, fine with me. Comment Actions The tool libraries are now implemented in include files as suggested in my last comment. Comment Actions Update the patch to use _TOOL_PREFIX instead of TOOL_PREFIX and undef after the include. Comment Actions @protze.joachim @jdoerfert ompt-multiplex.h is installed by default in /usr/include/ is that by design here? Comment Actions I didn't catch that. I doubt it is, @protze.joachim, right? Re change notes: Comment Actions Where are OpenMP release notes supposed to be added? I'm surprised, that I did not find any OpenMP related notes in the repository. Comment Actions Which options do you use to get the headers to include/openmp/? I think this must be something related to your CMake invocation because for example https://www.archlinux.org/packages/extra/x86_64/openmp/ has it in /usr/include/. Comment Actions I think we do not have any, yet. Maybe we should. Could you create a file matching other subprojects? |