nvfortran 22.X (or so) used to have
-Mipa, which in my case was used with OpenACC. This would enable LTO, then later tell you that LTO is not supported for your device. This made performance a bit of a challenge and required some hacky workarounds.
Now, I see that the
-Mipa option is deprecated as of nvhpc 23.5, though it’s documentation remains: HPC Compilers User's Guide Version 24.1 for ARM, OpenPower, x86
With nvhpc 23.11, I see LTO enabled at the start of compilation and don’t see a warning later on telling me it could not LTO. However, I did not find anything in the nvhpc release notes discussing LTO, which would be an important feature addition.
My question: Does LTO, in particular for the case of inlining functions and subroutines across module files, “work”? If not, is it expected at some point?