Parameter transfer to device wrong?

Hi everybody,
I can not understand (and believe), what I see:

I call TestKernel with 0.0 and 99.9:

from_here = 0.0;
to_there = 99.0;

TestKernel<<< dimGrid, dimBlock >>>
(ImageWidth,
ImageLength,
xmax,
xmin,
ymax,
ymin,
pBitMapDevice,
from_here,
to_there,
pBitMap_outDevice);

The program’s Reaction is like “to_there == 0.0” rather than 99.0.
What’s wrong?

what’s the exact coding producing the error?

Dear Bertylicious ,
thanks for Your interest.
I test CUDA with FX 1700 and use the template code, to send a 8 Bit tif-Bitmap to the Device, read it back, and do not understand, what I see.

I Call the Kernel:

Kernel<<< dimGrid, dimBlock >>> (ImageWidth, //in
ImageLength, //in
xmax, //in karth
xmin, //in
ymax, //in
ymin, //in
pBitMapDevice, //in
0.0 //in
99.0, //in
pBitMap_outDevice);

The declaration is:

global void Kernel(
long ImageWidth, //in
long ImageLength, //in
long xmax, //in
long xmin, //in
long ymax, //in
long ymin, //in
unsigned char *pBitMap_in, //in
double from, //in
double to, //in
unsigned char *pBitMap_out); //out

The Kernelcode ist:

if (to == 0.0)

        {
           pBitMap_out[x] = Black;
        }
        else

        {
          pBitMap_out[x] = !Black;
        }

And I see Black.
And I am sure sure.
Dear Bertylicious ,
thanks for Your interest.
I test CUDA with FX 1700 and use the template code, to send a 8 Bit tif-Bitmap to the Device, read it back, and do not understand, what I see.

I Call the Kernel:

Kernel<<< dimGrid, dimBlock >>> (ImageWidth, //in
ImageLength, //in
xmax, //in karth
xmin, //in
ymax, //in
ymin, //in
pBitMapDevice, //in
0.0 //in
99.0, //in
pBitMap_outDevice);

The declaration is:

global void Kernel(
long ImageWidth, //in
long ImageLength, //in
long xmax, //in
long xmin, //in
long ymax, //in
long ymin, //in
unsigned char *pBitMap_in, //in
double from, //in
double to, //in
unsigned char *pBitMap_out); //out

The Kernelcode ist:

if (to == 0.0)

        {
           pBitMap_out[x] = Black;
        }
        else

        {
          pBitMap_out[x] = !Black;
        }

And I see Black.
And I am sure sure, unbelievable!

your card doesn’t support double precision