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 nouveau(x)
Dernière contribution
Reportez-vous à notre Notice d'optimisation pour plus d'informations sur les choix et l'optimisation des performances dans les produits logiciels Intel.

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.

Thanks,

Raghu

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)

Fichiers joints: 

Fichier attachéTaille
Télécharger test-case-intel-vs-ati.7z8.93 Mo

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?

Thanks,
Raghu

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

http://software.intel.com/en-us/forums/topic/487583

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.

Laisser un commentaire

Veuillez ouvrir une session pour ajouter un commentaire. Pas encore membre ? Rejoignez-nous dès aujourd’hui