c - opencl 程序中的 GPU 使用情况
问题描述
我在编写opencl内核时有一个关于GPU使用的问题:我有自己编写的这个程序,目标是拍摄图像然后应用过滤器,程序按我的意愿工作,过滤器应用正确但我没有'不知道操作是由CPU完成还是由GPU完成,因为任务管理器说GPU使用率为0%。会不会是程序太快了,任务管理器检测不到GPU使用情况(图片没那么大)?有什么方法可以检查 GPU 是否正常工作?谢谢
解决方案
Windows 10 任务管理器无法正确显示某些 OpenCL 程序的 GPU 使用情况。在某些情况下,您会在“3D”选项卡中看到正确的使用编号,有时在“Compute_0”选项卡中,有时在“Cuda”选项卡中,有时根本看不到。当“3D”选项卡以外的选项卡显示正确的百分比时,概览左侧仍显示 0%。使用显示是否正确取决于驱动程序版本,甚至取决于您在 OpenCL 内核中使用的指令。Windows 任务管理器从WDDM估计其 GPU 数量。
要获得更可靠的读数(以及内存带宽使用情况、GPU 温度等),请使用nvidia-smi
或rocm-smi
,这些工具要准确得多。
推荐阅读
- ios - 通过 Xib 设置后动态更改 TextField 的类型
- docker - 连接到远程 docker 主机
- angular - :increment 和 :decrement 上的 Angular 6 动画未正确触发
- algorithm - isSubstring(s1, s2) 复杂性(语言无关方法)
- data-structures - int lDepth = maxDepth(node->left); int rDepth = maxDepth(node->right);
- c# - 未定义或导入 C# 预定义类型“System.Object”
- charles-proxy - 使用 charles 时如何显式忽略一些特殊请求?
- apache-flink - Flink join 和 connect 有什么区别?
- r - x/x.expected 中的错误:不一致的数组
- git - 当我尝试使用集成的 git 将更改推送到我的 Github 存储库时,VS Code 给了我一个 ssh_askpass 错误