This`s the part descript of PTX docments:
The surface (.surf) state space is similar to global memory, but is 2D in nature. It takes a 2D address (i and j components), and with respect to cache, spatial locality generally works well in a 2D neighborhood. This allows tiled decompositions to perform quite well.
it seems that should use it like :
.surf .f32 surfVar; ... mov.f32 $r0,surfVar;
and at the end of sections 5.3.1:
Note that texture and surface variables do not have an associated type and size.
but through up descript it seems should be used as:
Which is right?