float2 type variable reside in local memory?

Dear All,

I am using variables with float2 type in the kernel, for example:

float2 a,b;
b = a;

The compiler seemed to put the variables to the local memory with "sm_13" configuration. I checked the ptx file:

.local .align 8 .b8 __cuda_local_var_112171_10_non_const_a_16[8];
.local .align 8 .b8 __cuda_local_var_112171_12_non_const_b_8[8];

If the code is compiled with "sm_20", the variables a and b are put into register. Is there any way to make float2 variable stay in the register when compiled with "sm_13"? Thanks a lot.


which CUDA toolkit are you using?

I am using 4.1 toolkit.