CUDA运行时API文档tells us,如果设备不支持优先级,则优先级范围可能为0-0。但是 - 不同的设备实际上有不同的优先级范围吗?
答案 0 :(得分:4)
目前(CUDA 8,通过pascal,将来可能发生变化),对于stream priorities,CUDA设备支持:
以下代码可用于探测此问题:
#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,因此自然流优先级仅在与特定设备关联的内核启动中有效。