Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

array bounds checking?

Ralph_Nelson
Novice
362 Views

I have a code that builds and runs as long as I have array bounds checking turned on.  Compiler options are as follows:
/nologo /O3 /Qunroll:4 /Qparallel /assume:buffered_io /I"F:\Macro3d\Intel\Intel_5-7-2013\Include Files" /assume:nocc_omp /free /warn:declarations /warn:noalignments /Qopt-report:3 /module:"x64\Release\\" /object:"x64\Release\\" /check:bounds /libs:static /threads /c

If I turn the array check off, the answers are bad.  I didn't think the check did anything to the compiled code other than check out of bounds array usage.  My results seem to indicate otherwise.  Don't see any info from the code related to the issue.

Suggestions?  Thanks for any assistance.

-ralph

0 Kudos
1 Reply
IanH
Honored Contributor III
362 Views

The presence and execution of the machine instructions associated with array bounds checking will change the layout of your program in memory, and may change the contents of uninitialised things on the stack, etc.  I see you are doing an auto-parallel release build - so it might also interfere with optimisation.

Perhaps fire up a debug build with /check:all and see what happens.

If you know the "answers are bad" (sometimes "unacceptably different" is a better description if there's any sort of iteration involved) you can always try and dump intermediate results from your code to see where the badness originates from.

0 Kudos
Reply