For compute capability >= 3.0, we tend to prefer texture memory (using strategies from the mentioned paper) for our image processing routines (operating on 2-D pitch-linear memory) because it is faster to write, avoids explicit handling of the image borders and yields a more compact source code (especially when implementing a templatized function for multiple bit depths)