什么是GPU上下文,NVIDIA架构中的GPU硬件通道

HAT*_*ZAB 2 cuda gpu gpgpu nvidia

在阅读一些与GPU计算相关的论文时,我坚持理解这两个术语GPU上下文,而GPU硬件频道下面简要提到他们,但我无法理解他们的意思,

命令:GPU使用体系结构特定命令进行操作.每个GPU上下文都分配有一个FIFO队列,CPU上运行的程序将提交命令.只有当GPU本身调度相应的命令时,才会触发GPU上的计算和数据传输.

通道:为每个GPU上下文分配一个GPU硬件通道,在其中管理命令调度.Fermi不允许多个通道同时访问同一GPU功能单元,但允许它们共存,在硬件中自动切换.

对此有一个明确而简单的解释.

Rob*_*lla 8

这里描述 GPU上下文.它表示集体需要并实例化以执行某些任务的所有状态(数据,变量,条件等)(例如,CUDA计算,图形,H.264编码等).实例化CUDA上下文以在GPU上执行CUDA计算活动,或者由CUDA运行时API隐式地执行,或者由CUDA设备API显式地执行.

命令只是一组数据,以及对该数据执行的指令.例如,可以向GPU发出命令以启动内核,或者将图形窗口从桌面上的一个地方移动到另一个地方.

通道表示主机(CPU)和GPU之间的通信路径.在现代GPU中,这使用PCI Express,并且代表主机和设备中的状态和缓冲区,通过PCI express交换,向GPU发出命令并向GPU提供其他数据,以及通知CPU GPU活动.

在大多数情况下,使用CUDA运行时API,没有必要熟悉这些概念,因为它们都是在CUDA运行时API下面抽象(隐藏)的.