As a global variable, I have
Code :
__constant int2 diamond[2][2] =
{
    {(int2)(-1,0), (int2)(0, 1)},
    {(int2)( 1,0), (int2)(0,-1)}
};
This doesn't compile on snow leopard targeting a GF 8600M, with the error "Error while compiling the ptx module: CLH_ERROR_NO_BINARY_FOR_GPU"

Is this correct syntax? If not, what is the correct way to have array of vectors in constant memory without initializing it from the host?