Detecting array argument copies on subroutine calls

Detecting array argument copies on subroutine calls

I'd like to address some performance issues with a F90 code. In particular I wish to check whether temporary copies are being generated for certain allocated pointer arrays which are passed as arguments to subroutines with assumed-size or explicit shape dummy arguments. The intention is to pass contiguous blocks of memory in all cases, but it is possible that the compiler might not detect this.

Is there any compile- or run-time option which might be used to test this, either with ifc for linux, or on some other platform.

Keith Refson

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Intel Fortran does not currently offer this feature. It may appear in a future version. Compaq Visual Fortran for Windows does do this, optionally generating a run-time informational diagnostic if an argument temp is created.


Retired 12/31/2016

Leave a Comment

Please sign in to add a comment. Not a member? Join today