I created an OpenCL program to execute some mathematic operations. It worked fine in Nvidia and AMD video cards (result matched with wolframalpha, for instance) but when I tried to use a notebook with an Intel HD Graphics 4000 video card, that supports openCL, my program returned unexpected results for some functions.
Those functions were erf, erfc, tgamma and lgamma. I thought my video card had a problem, but I tried in another 3 machines with Intel HD Graphics 4000 and obtained the same results from the first one.
Some examples:
Intel HD Graphics 4000
erf( 0.25 ) = 0.0262698
erfc( 0.25 ) = 0.97373
lgamma( 5.5 ) = 1.70475
Another video cards:
erf( 0.25 ) = 0.276326
erfc( 0.25 ) = 0.723674
lgamma( 5.5 ) = 3.95781
I tried it configurations
OpenCL version: 1.1
OpenCL driver version: 8.15.10.2778
and
OpenCL version: 1.1
OpenCL driver version: 9.17.10.2932
Does anyone know the reason behind the different results?