【问题标题】:Cuda threads per block with multiple GPU's具有多个 GPU 的每个块的 Cuda 线程
【发布时间】:2018-07-31 08:28:40
【问题描述】:

在大学项目中使用 Cuda GPU 编程,并且只是想知道如果您有 2 个 GPU,GPU 的块大小是否可能为 1024,这是否意味着该块大小增加了一倍?这会影响程序的实现吗?您需要单独访问 GPU 吗?

【问题讨论】:

    标签: cuda nvidia pycuda


    【解决方案1】:

    不,块大小没有加倍。块大小通常与 GPU 上每个流式多处理器的最大活动扭曲数有关。如果您计划在多个 GPU 上编写程序,则每次调用任何 CUDA 运行时函数之前,您都需要在代码中设置活动 GPU 设备(通过cudaSetDevice())。每个 GPU 将分别异步运行其功能。

    【讨论】:

      【解决方案2】:

      我认为您要问的是每个块的最大线程数,它存在于每个 GPU 的基础上。这意味着即使您有两个 GPU,每个 GPU 的每个块最多 1024 个线程,块大小仍然是静态的。

      所以要回答你的问题,不,块大小没有加倍。不幸的是,您仍然需要单独与每个 GPU 通信。

      您可以查看有关技术规范的更多信息,例如每个块的线程here.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-10-15
        • 1970-01-01
        • 1970-01-01
        • 2011-05-22
        • 2022-12-05
        • 2012-07-19
        相关资源
        最近更新 更多