Quantcast
Channel: Intel® Many Integrated Core Architecture
Viewing all articles
Browse latest Browse all 1347

Force xeon level precision on Xeon phi or vice versa

$
0
0

Hi all,

I have been running a program where precision of doubles mean a lot to my program.

However due to some strange reason it seems like Xeon phi is rounding off a few bits(at 10^-8th bit) and this seems to be causing some instabilities to my model. A small round off error grows over my model over iteration of time step and my model fails to converge.

here is  some sample differences in error.

Xeon phi value

4052003.87615914      -3800481.58877535
   4743651.75216398        8579922.43342044        4677493.53261335
  -1251355.38835838       -8704380.49549063       0.000000000000000E+000

xeon value(ideal values)

 4052003.87615915      -3800481.58877535
   4743651.75216399       8579922.43342044        4677493.53261335
  -1251355.38835838       -8704380.49549063       0.000000000000000E+000

This small change over iterations grow and has made the model unable to converge.

I have tested the code without offload and works fine.

I am sure this is what causes the error, with this message from the program

POP Exiting...
POP_SolversChronGear: solver not converged
POP_SolverRun: error in ChronGear
POP_BarotropicDriver: error in solver
Step: error in barotropic

These models are very sensitive and require such precision. So how do I avoid this problem with offload.

 

Please help to force Xeon level precision on Xeon phi.

Thanks in advance

 

  

 


Viewing all articles
Browse latest Browse all 1347


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>