- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page