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

Handle Fortran pure (and elemental) procedures instrumentation with TAU #36

Open
zbeekman opened this issue Feb 1, 2025 · 0 comments
Open

Comments

@zbeekman
Copy link
Member

zbeekman commented Feb 1, 2025

elemental procedures automatically have the pure attribute unless explicitly marked impure elemental.
pure procedures can only call other pure procedures and are forbidden from having local variables with the save attribute.
This makes declaring the tau timer impossible for the normal profiling approach.

As a work around we can inject interface blocks declaring TAU_START and TAU_STOP to be pure and use these instead of TAU_TIMER_START and TAU_TIMER_STOP. Alternatively we could try to write a small module at the beginning of every instrumented file to contain TAU timers and then use that module and import the relevant timer in question via use association with an only clause, but this will be potentially messy.

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

No branches or pull requests

1 participant