- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've just bought IVF and is moving my code from CVF 6.6.B to IVF 10.1. The two programs are giving small difference in the output. Is it possible that the two compilers evaluate trigonometric functions different?
i.e. I use asin, cos and acos til calculate three variables, which all is used in a equation containing sin.
I have checked initialisation for all variables, which I have figured out, that IVF is much more sensitiv to initialisation (var = 0.0D0). I use double precision in my code (real(double) :: xx).
Anybody who have experiende same behavior moving code from CVF til IVF?
/Regards Thomas Langer
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
For example x = 0.1 is not the same as x = 0.1d0
Les
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've just bought IVF and is moving my code from CVF 6.6.B to IVF 10.1. The two programs are giving small difference in the output. Is it possible that the two compilers evaluate trigonometric functions different?
i.e. I use asin, cos and acos til calculate three variables, which all is used in a equation containing sin.
I have checked initialisation for all variables, which I have figured out, that IVF is much more sensitiv to initialisation (var = 0.0D0). I use double precision in my code (real(double) :: xx).
Anybody who have experiende same behavior moving code from CVF til IVF?
/Regards Thomas Langer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Math functions in CVF take advantage of x87 extra precision for improved accuracy, while ifort SSE2 libraries would use extra precision only where necessary for stability. To increase likelihood of identical results, you would need to set float consistency option in CVF and /assume:protect_parens and no SSE options in 32-bit ifort.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
IIRC, fp arithmetic is supposed to be done the same way acrossI32 - IA64. Q4 of
http://developer.intel.com/technology/itj/archive/1999.htm
might be of interest.
Gerry

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