atomic operations and surfaces

Is it possible to use atomic operations on a surface? is surf2Dwrite the only way to write to a surface?

Thanks,

No.

Using a surface function is the only way to write to a surface (from device code).