- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Intel board,
with the new Fortran Compiler Version we are having some issues that we had not with previous versions...
I'm trying to describe the problem in a short way, if more details are needed I can add them later.
We have a serie of old Fortran Projects doing engineer calculations. Before from compiler version to version, OS to OS, never we had differences in the results. Now with
Microsoft Visual Studio 2010 10.0.40219.1 SP1rel
Intel Fortran 1203471.2010 (w_fcompxp_2011.4.196)
the results differ in a distinctive manner. And it's depending of the OS version!!
So comparing an exe from the older (v9) compiler with the new one:
* on Win7 some results differ in the 4th decimal place
* on Vista some differ factor 10 (ex: should be 2.9 is 29.0)
On Vista the programs additionally seem to have severe problems running, some have grafic defects, some don't run at all.
Note: The Programs are quickwin applications.
Is this a known problem?
Thanks, Patrick
ps. to the Mod: why is my email adress also my visible username??
with the new Fortran Compiler Version we are having some issues that we had not with previous versions...
I'm trying to describe the problem in a short way, if more details are needed I can add them later.
We have a serie of old Fortran Projects doing engineer calculations. Before from compiler version to version, OS to OS, never we had differences in the results. Now with
Microsoft Visual Studio 2010 10.0.40219.1 SP1rel
Intel Fortran 1203471.2010 (w_fcompxp_2011.4.196)
the results differ in a distinctive manner. And it's depending of the OS version!!
So comparing an exe from the older (v9) compiler with the new one:
* on Win7 some results differ in the 4th decimal place
* on Vista some differ factor 10 (ex: should be 2.9 is 29.0)
On Vista the programs additionally seem to have severe problems running, some have grafic defects, some don't run at all.
Note: The Programs are quickwin applications.
Is this a known problem?
Thanks, Patrick
ps. to the Mod: why is my email adress also my visible username??
Link Copied
8 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What you describe is typical of Fortran code which assumes that all compilers (or all versions of a specific compiler) will treat the source code in the same way.
If your source code is standard-conforming, your expectation is correct and variations in the results would constitute compiler bugs.
If your source code is in violation of the Fortran standard, whether you know it to be such or not, there may well come a day when the program "misbehaves".
I suspect that your code violates the standard. If you provide a small example, and document the changes (in particular, state which compiler(s) were used earlier, state the compiler options, ...) it may be possible to find a solution.
If your source code is standard-conforming, your expectation is correct and variations in the results would constitute compiler bugs.
If your source code is in violation of the Fortran standard, whether you know it to be such or not, there may well come a day when the program "misbehaves".
I suspect that your code violates the standard. If you provide a small example, and document the changes (in particular, state which compiler(s) were used earlier, state the compiler options, ...) it may be possible to find a solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the answer, I'll try to extract sourcecode even if it is not so simple.
But why does the same exe (compiled w/ the newest compiler) produces different results between vista <-> win7? Isn't that strange?
But why does the same exe (compiled w/ the newest compiler) produces different results between vista <-> win7? Isn't that strange?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This can easily happen if you have uninitialised variables for instance. Variables are not
automaticaly initialised in Fortran. If the variable has not been given a value, the value in
the program can be anything and is likely vary from run to run.
Regards,
Arjen
automaticaly initialised in Fortran. If the variable has not been given a value, the value in
the program can be anything and is likely vary from run to run.
Regards,
Arjen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Not strange, especially if there are array overruns, mismatched arguments and undedined variables used.
The OS name is perhaps the most prominent difference, but there is little justification to assume that this difference (or the color of your compputer case) caused the program output to differ.
The OS name is perhaps the most prominent difference, but there is little justification to assume that this difference (or the color of your compputer case) caused the program output to differ.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'll try to narrow down the problem.
All the programs worked for years w/o problems. Over the cycle of OS's and compilers. Only with the lastest Intel compilers it's like this.
All the programs worked for years w/o problems. Over the cycle of OS's and compilers. Only with the lastest Intel compilers it's like this.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
>>All the programs worked for years w/o problems. Over the cycle of OS's and compilers.
More like you've been lucky all these years....
Have you compiled with all the diagnostic features enabled?
Note, this will catch many, but not all, programming errors.
Jim Dempsey
More like you've been lucky all these years....
Have you compiled with all the diagnostic features enabled?
Note, this will catch many, but not all, programming errors.
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
one additional item to test before you bogg down with all that conformity stuff (who wants to conform?? ;-))
Try using an option to have the same results on different chips
(the factor of 10 error is probably not this unless you are calculating the larger number based on the 4th decimal place errors in the small numbers?)
You don't mention what chipset is on the computers you are testing on.
The option to try is
/Qimf-arch-consistency:true
additional information on that is on thread
http://software.intel.com/en-us/forums/showthread.php?t=81147
Try using an option to have the same results on different chips
(the factor of 10 error is probably not this unless you are calculating the larger number based on the 4th decimal place errors in the small numbers?)
You don't mention what chipset is on the computers you are testing on.
The option to try is
/Qimf-arch-consistency:true
additional information on that is on thread
http://software.intel.com/en-us/forums/showthread.php?t=81147
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting preuss@iwk.uka.de
...the results differ in a distinctive manner. And it's depending of the OS version!!
So comparing an exe from the older (v9) compiler with the new one:
* on Win7 some results differ in the 4th decimal place
[SergeyK] I think you have some inconsistency of floating-point calculations.Possible reasons:
- Non-default initialization of Floating-Point Unit
-Change ina rounding mode
* on Vista some differ factor 10 (ex: should be 2.9 is 29.0)
[SergeyK] Could you provide an example? That really looks strange.
So comparing an exe from the older (v9) compiler with the new one:
* on Win7 some results differ in the 4th decimal place
[SergeyK] I think you have some inconsistency of floating-point calculations.Possible reasons:
- Non-default initialization of Floating-Point Unit
-Change ina rounding mode
* on Vista some differ factor 10 (ex: should be 2.9 is 29.0)
[SergeyK] Could you provide an example? That really looks strange.
There are lots of other reasons why it could happen and please take a look atenclosed article.
Best regards,
Sergey

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