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

4

在阅读与GPU计算相关的一些论文时,我遇到了理解这两个术语GPU上下文GPU硬件通道的困难。以下是对它们的简要提及,但我无法理解它们的含义。

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

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

所以,是否有一个清晰简单的解释呢?

1个回答

10

GPU上下文可以在此处找到说明。它代表了执行某些任务所需的所有状态(数据、变量、条件等)的集合,例如CUDA计算、图形、H.264编码等。CUDA上下文被实例化以在GPU上执行CUDA计算活动,可以通过CUDA运行时API隐式地或通过CUDA驱动程序API显式地完成。

命令只是一组数据和指令,用于对该数据执行操作。例如,可以向GPU发出命令以启动内核,或将图形窗口从桌面的一个位置移动到另一个位置。

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

大多数情况下,使用CUDA运行时API,不需要熟悉这些概念,因为它们都被抽象化(隐藏)在CUDA运行时API之下。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接