【发布时间】:2018-07-31 08:28:40
【问题描述】:
在大学项目中使用 Cuda GPU 编程,并且只是想知道如果您有 2 个 GPU,GPU 的块大小是否可能为 1024,这是否意味着该块大小增加了一倍?这会影响程序的实现吗?您需要单独访问 GPU 吗?
【问题讨论】:
在大学项目中使用 Cuda GPU 编程,并且只是想知道如果您有 2 个 GPU,GPU 的块大小是否可能为 1024,这是否意味着该块大小增加了一倍?这会影响程序的实现吗?您需要单独访问 GPU 吗?
【问题讨论】:
不,块大小没有加倍。块大小通常与 GPU 上每个流式多处理器的最大活动扭曲数有关。如果您计划在多个 GPU 上编写程序,则每次调用任何 CUDA 运行时函数之前,您都需要在代码中设置活动 GPU 设备(通过cudaSetDevice())。每个 GPU 将分别异步运行其功能。
【讨论】:
我认为您要问的是每个块的最大线程数,它存在于每个 GPU 的基础上。这意味着即使您有两个 GPU,每个 GPU 的每个块最多 1024 个线程,块大小仍然是静态的。
所以要回答你的问题,不,块大小没有加倍。不幸的是,您仍然需要单独与每个 GPU 通信。
您可以查看有关技术规范的更多信息,例如每个块的线程here.
【讨论】: