我试图在使用NVIDIA TITAN X和CUDA 8.0的系统中分析OpenCL应用程序a.out
。
如果是CUDA申请,nvprof ./a.out
就足够了。但我发现这不适用于OpenCL应用程序,并带有消息"没有内核被分析。"
在CUDA 7.5之前,我在this之后成功使用了COMPUTE_PROFILE=1
。不幸的是,文档说"在CUDA 8.0版本中已经删除了使用环境变量COMPUTE_PROFILE对命令行分析器的支持。"
问题是,除了降级CUDA以使用nvprof配置OpenCL应用程序之外,还有其他方法吗?
答案 0 :(得分:4)
据我所知,nvprof
从未支持OpenCL分析。
使用COMPUTE_PROFILE=1
运行代码会调用基于驱动程序的分析机制,该机制早于nvprof
的引入。基于驱动程序的机制不久前已被弃用,现在已从CUDA 8中删除,转而使用nvprof
。
因此,似乎无法使用CUDA工具包分析在NVIDIA硬件上运行的OpenCL代码。