The number of registers in CUDA CC 5.0? : I have a GeForce GTX 745 (CC 5.0).

The deviceQuery command shows that the total number of registers available per block is 65536 (65536 * 4 / 1024 = 256KB)

I wrote a kernel that uses an array of size 10K and the kernel is invoked as following.

I tried two ways to allocated the array:

    // using registers
    fun1() {
        short *arr = new short[100*100];  // 100*100*sizeof(short)=256K / per thread
        ....
        delete[] arr;
    }
    fun1<<<4, 64>>>();

    // using global memory
    fun2(short *d_arr) {
        ...
    }
    fun2<<<4, 64>>>(d_arr);

I can get the correct result in both manner.
The first one which uses registers runs much faster.

But when invoking the kernel using 6 blocks i got the wrong answer.
    
    fun1<<<6, 64>>>();

Now i'm wondering actually how many of registers can i use? And how is it related to the number of blocks ? 
