5 Replies Latest reply: Feb 21, 2013 9:08 PM by himanshu.gautam RSS

Linux x64 floats are buggy, caused by 12.8 driver?

cguenther Newbie
Currently Being Moderated

Hi there. I have a really strange problem and i hope you can help me.

 

I have a shrinked kernel to my problem:

 

__kernel

void softwareRender()

{

          __private float zeroDotFive;

          zeroDotFive = 0.5f;

 

  printf( (__constant char*) "%f \n", zeroDotFive);

}

 

The output of the printf is for every time "0.0000000". Passing data from shared GL VBOs as float is no problem. But when i want to multiply them with 0.5, everything gets 0.00000. The CodeXL 0.93 also verifies that the value of zeroDotFive is zero.

 

I am using Ubuntu 12.04 with kernel version 3.2.0-31-generic. I use the AMD APP SDK 2.7 and the AMD Catalyst™ 12.8 Proprietary Linux x86 Display Driver. I tried also the 12.9 beta one, and the fglrx driver of the partner Ubuntu repo and both with the same results.

 

The same Program and Kernel compiled with mingw runs in Windows 7 x64 with Catalyst 12.8 without this problem. Nvidia GPUs have no problem to execute this Kernel in 64bit linux and Windows.

More Like This

Legend

  • Correct Answers - 4 points
  • Helpful Answers - 2 points