I have a simple kernel, in which I'm allocating some space using malloc, simply as:
__global__ void chainKernel() {
    float* __restrict__ boo = (float*)malloc(sizeof(float));
    *boo = 0;
    *boo = *boo + 100;
    return;
}
If I put a breakpoint on *boo = *boo + 100 I can't see the contents of *boo. Instead I get Operation is not valid due to the current state of the object next to the variable in the debugger window. If I remove the __restrict__ however, the value is shown correctly. Is this normal behavior?
My system: CUDA 5.5.20, Nsight 3.1.0.13141, Windows 7 x64, VS2010, GeForce GTX Titan.
 
     
    