Avoiding bug in nvcc2.3

Hi, all!

I am working with nvcc 2.3(I knew it’s old…I knew.) currently. And I found a bug in this version. When I write code like

if (some_condition)

       variable = 1;

, and let variable = 0 before it execute in kernel. I suppose to make variable change to 1 if any thread found condition is tenable. But the compiler will generate ptx like variable = some_condition? 1 : 0 using a condition mov instruction. It has different meaning since some threads will write a zero into the variable now.

I guess newer compiler has fixed this bug. But I am not an admin so I can not install the new drivers which is needed by the newer compiler. Is there anyway I could deal with it? My program has dozen of such pattern.

BTW.I am working at a Red Hat 5.5.

Thanks.

Easyhard