CVF vs. IVF different results

CVF vs. IVF different results

imagem de Philip S.

Hello,

I am currently trying to compile a finite element program with user code that was perviously compiled with CVF 6.5.  However, the results from the analysis using IVF are significantly different due to the number of loops and, I assume, small differences in the numbers.  I no longer have access to CVF and only have the source files and the previously compiled executable to use to compare results.  I have tried disabling optimzation, /arch:IA32, /Qsave, /fp:source, /assume:protect_parens, and every combination of the above all having no effect on the results that I am getting.  I am a civil engineer by trade, but I have examined this code over and over and I have had no success in determining what is causing this issue.  The code is written in fortran90.  Any thoughts or ideas on where this error could be coming from or other compiler options I should try?  I have read through forum after forum and they all say try the options I have listed above; I am at a loss of how to proceed.

Thanks

5 posts / 0 new
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.
imagem de mecej4

It is possible that there are bugs in the source code that did not affect the results (or enough to be noticed) when compiled with CVF, but are now showing significant effects when compiled with IVF.

I recommend that you recompile all your sources with IVF, with all the error detection features turned on (interface checking, array bounds, etc.).

If the source code is not too large, you may try posting it here along with any needed data files.

imagem de Steve Lionel (Intel)

Computational floating point arithmetic has too many variables that can cause differences. A change in order of operations in particular can cause differences, and you can't eliminate all causes of that. You're using a different math library. You have used options that can reduce such differences but you can't eliminate them all. The algorithm in the program may be too sensitive to last-bit differences.

Steve
imagem de Philip S.

To Steve Lionel (Intel) :
Given what you say is true, is there any possible way for me to obtain a copy of CVF 6.5? The results from the FEA previously done using CVF to compile the code match experimental results well and the results are much more numerically stable at the user level.

imagem de Steve Lionel (Intel)

Not from us. In the past I have seen some people selling old CVF versions online, but that was a long time ago.

If the options you mention did not help at all, then it is likely you have a coding error somewhere. You may want to try downloading a free trial of Intel Fortran Studio XE and using the "Static Analysis" tool to analyze your program for errors.

Steve

Faça login para deixar um comentário.