CUDA Runtime API 文档告诉我们,如果设备不支持优先级,则优先级范围可能是 0-0。但是 - 不同的设备实际上有不同的优先级范围吗?
目前(CUDA 8,通过 pascal,未来可能会有变化),对于流优先级,CUDA 设备支持:
以下代码可用于探测:
#include <iostream>
int main(){
int priority_high, priority_low;
cudaDeviceGetStreamPriorityRange(&priority_low, &priority_high);
std::cout << priority_high << "," << priority_low << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
请注意,根据文档,编号较低的优先级值被认为是更高的优先级,因此 -1 的流优先级高于优先级 0。
流是每个设备的概念,因此自然流优先级仅在与特定设备关联的内核启动内有效。
归档时间: |
|
查看次数: |
71 次 |
最近记录: |