- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I notice that some FORTRAN programs provide completely different results if compiled by previous products, such as COMPAQ, against the provided using Intel Fortran compiler. Is there any way to eliminate or at least reduce those differences? Thank you for any help.
Marcio
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Different optimizations can make different results... if you check the compiler flags that force the program to obey standard rules or force proper arithmetic/precision that shouldn't happen.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Your expectations may be unrealistic, or your code may have errors. Can you show us a test case? You usually won't get the exact same floating point results as these can vary depending on order of operations, extended precision and more. CVF always used "X87" instructions for floating point, often doing calculations in greater precsion than what you declared. Intel Fortran, by default, uses the faster SSE instructions, but always uses declared precision. You can force Intel Fortran to use X87 by adding the /arch:ia32 switch, but the program will run slower.

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