Default rounding mode - towards pos infinity ?

Default rounding mode - towards pos infinity ?

I see lots of invalid results with my app built for Intel OpenCL platform.

Comparing data arrays it creates on Intel Ivy Bridge vs same arrays created on ATi GPU (HD6950 that produces valid results) I found that arrays are quite similar but every value slightly (and sometimes not so slightly) bigger in "intel's" array bigger than in "ati's". To get final result app performs many additions of parts of arrays (folding) so this error accumulates to the point it becomes false positive.

Could it be some difference in default rounding mode (app uses single floating point numbers)?

7 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Is it possible to attach a small reproducer and the expected output (one you are seeing on ATI)? We'll take a look and get back to you.



Can attach whole app. 

test case (some inner array dumping enabled) and text files with results for ATi and Intel included.

(sources are freely available if needed)


Downloadapplication/x-7z-compressed test-case-intel-vs-ati.7z8.93 MB

Any ideas?

I looked at the output files. But there is too much information in them (though I saw the difference in the output you are talking about). Can you create a minimal reproducer for us to investigate more?


Hello. I found issue. It's too low precision of native trigonometric functions on Intel GPU as described here:

When I removed native_sin/cos_usage BOTH from oclFFT and own apps dechirping function results started to pass validation vs other platforms. So, not rounding mode issue but native_sin/cos issue.

Leave a Comment

Please sign in to add a comment. Not a member? Join today