CUDA装置裂变

CUDA装置裂变,cuda,opencl,gpgpu,Cuda,Opencl,Gpgpu,我正在寻找一种方法来划分我的Nvidia GPU设备,这样我就可以同时运行两组内核,而不必为SMs而争斗 根据文档,在openCL中可以使用clCreateSubDevices。有没有与CUDA相当的功能?我个人在CUDA中没有遇到过这样的功能 要同时运行两个内核,可以计算内核的占用率,相应地调用有限数量的块,并在内核中使用循环来模拟更多块的存在。每个线程可能需要多花费几个寄存器。如果您不想接触内核的内容,那么可以在一个流中多次启动每个内核,每次都使用有限的网格大小。第二种方法的成本可能是在一个

我正在寻找一种方法来划分我的Nvidia GPU设备,这样我就可以同时运行两组内核,而不必为SMs而争斗


根据文档,在openCL中可以使用clCreateSubDevices。有没有与CUDA相当的功能?

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


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

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