事实上,在最近的硬件时代,硬件制造商已经为 GPU 添加了一些功能,这些功能在图形领域有些……可疑的用途,但在 GPGPU 任务中却有大量用途。
作者在这里指的是什么?
我假设它指的是额外的硬件功能,以及支持 GPGPU 计划(如CUDA和OpenCL )的抽象。从CUDA的描述:
与使用图形 API 在 GPU 上的传统通用计算 (GPGPU) 相比,CUDA 具有以下几个优势: 分散读取 – 代码可以从内存中的任意地址读取可以在线程之间共享。这可以用作用户管理的缓存,实现比使用纹理查找更高的带宽。更快地从 GPU 下载和回读 完全支持整数和位运算,包括整数纹理查找
这些都是在实现 CUDA 和 OpenCL 时相关的所有功能,但与 OpenGL 等图形 API 有些无关(至少直接相关)。GPGPU 功能仍然可以以非常规的方式利用来补充传统的图形管道。
“CUDA 公开快速共享内存区域”的示例将是对 OpenGL 可能无用的附加硬件要求。
您可以阅读这份详细的文档,其中描述了 CUDA 所需的架构,以及它与传统图形专用 GPU 之间的区别。