Surface Reference API
B.9.2.1. surf1Dread()
?..., surface reference出现的晚, 是在2.0时期才出来的,也就是Fermi(还记得它么) ,跟随当时的CUDA 3.2这个版本一样.这个版本的CUDA引入了v2版本的api, 很多函数发生了变化...和texture对比, Surface主要贡献了两点作用:
(1) surface的后备存储的cuda array, 是可以写入的, 这解决了长期以来, 使用cuda array做为后备存储, 需要更新内容时候带来的...(2) 做为一个简化版本的texture使用,很多人需要使用texture的cache性能(例如在配合cuda array的时候, 利用内部特殊的元素排列取得的空间上的效果), 而不需要复杂的采样器功能...(例如线性插值之类的),此时可以直接使用surface.所以本章节你看到了很多函数的有很多细微的和texture的不同.例如边界模式上, 可以直接在调用的时候做为最后一个参数指定.例如这里的越界读取返回