In trying to combat the Fortran "Cascading Compilation" problem, I have been successfully using the scripts provided by Daniel Grimwood (http://www.nicdan.id.au/computers/compiling/recompile.html) to manage dependencies between different modules. The problem results when a module file is regenerated. Even without interface changes the module file from the same source will be different due to compiler specific information (timestamps, etc). The fault evidently lies in an inadequate Fortran standard for module files, however this was managable with Intel Fortran up to version 10 by using a binary comparison (`cmp`) and allowing differences of selected bytes. The differences were consistently confined to a few bytes (e.g. bytes 49, 50, 51, and 52 for version 9.x and 10.x). Unfortunately, with Intel Fortran 11, this no longer practicle as there are typically in excess of 1000 different bytes which change with each source file. These do appear to be in 2 to 3 byte increments, but are scattered throughout the *.mod file. Is there a way to revert the *.mod file format back to that of version 10.x? Are there other ways to determine when there is only a change to the body of a routine without modifying any of the interfaces of a module and hence important parts of the module file? Thanks in advance,
Reportez-vous à notre Notice d'optimisation pour plus d'informations sur les choix et l'optimisation des performances dans les produits logiciels Intel.