【问题标题】:Device fission with CUDACUDA 设备裂变
【发布时间】:2015-04-11 19:46:23
【问题描述】:

我正在寻找一种方法来对我的 Nvidia GPU 设备进行分区,这样我就可以同时运行两组内核,而无需它们争夺 SM。

根据文档,在 openCL 中您可以使用 clCreateSubDevices。有没有 CUDA 等价物?

【问题讨论】:

  • TTBOMK CUDA 不支持设备裂变 à la OpenCL。但是,您可以并行运行多个内核,并且调度程序可能同时运行它们,具体取决于资源的可用性/调度程序的心情。但不能保证。

标签: cuda opencl gpgpu


【解决方案1】:

我个人在 CUDA 中没有遇到过这样的功能。

要同时运行两个内核,您可以计算内核的占用率,相应地调用有限数量的块,并在内核中使用循环来模拟更多块的存在。每个线程可能会花费您更多的寄存器。如果您不想接触内核的内容,您可以在流中多次启动每个内核,每次都使用有限的网格大小。第二种方法的成本可能是在一个流的内核之间转换时未完全占用 SM。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-03
    • 1970-01-01
    相关资源
    最近更新 更多