不同的支持CUDA的卡真的有不同的优先级范围吗?

时间:2017-09-07 12:16:07

标签: cuda

CUDA运行时API文档tells us,如果设备不支持优先级,则优先级范围可能为0-0。但是 - 不同的设备实际上有不同的优先级范围吗?

1 个答案:

答案 0 :(得分:4)

目前(CUDA 8,通过pascal,将来可能发生变化),对于stream priorities,CUDA设备支持:

  • (CC <= 3.0的设备)单个可能的优先级,优先级为0.
  • (设备&gt; = CC 3.5)两个优先级,-1和0.

以下代码可用于探测此问题:

#include <iostream>

int main(){

int priority_high, priority_low;
cudaDeviceGetStreamPriorityRange(&priority_low, &priority_high);
std::cout << priority_high << "," << priority_low << std::endl;
}

请注意,根据documentation,较低编号的优先级值被视为较高优先级,因此优先级为-1的优先级高于优先级为零的优先级。

Streams是per-device concept,因此自然流优先级仅在与特定设备关联的内核启动中有效。