我正在尝试使用nvvp来剖析opencl内核。 我使用GTX 580运行ubuntu 12.04 64b,并验证了CUDA工具包工作正常(我可以运行和配置cuda代码)。 当试图调试我的opencl代码时,我得到:
Warning: No CUDA application was profiled, exiting
任何提示?如何在OpenCL上使用NVidia Visual Profiler(在Linux上)?
回答
nvvp只能配置CUDA应用程序。
尽管我在NVidia的文档中找不到任何地方,但我还是很担心...是否有其他选择? –
虽然它仍然是一个正在开发的项目,但您可以使用LTPV获取OpenCL应用程序的时间轴视图:http://code.google.com/p/ltpv/ –
实际上,这不是100%真实的。 http://uob-hpc.github.io/2015/05/27/nvvp-import-opencl/ – Dschoni
Nvidia的视觉轮廓仪(nvvp)可用于配置OpenCL程序,但它比直接在CUDA中进行轮廓分析更麻烦。
Simon McIntosh's布里斯托尔大学的高性能计算组提出了原始解决方案(here),我可以验证它的工作原理。
我总结的基础知识:
- 首先,环境变量COMPUTE_PROFILE必须设置,这与
COMPUTE_PROFILE=1
其次一个
COMPUTE_PROFILE_CONFIG
必须提供,我用一个样品进行(所谓nvvp .CFG)包含:profilelogformat CSV streamid gpustarttimestamp gpuendtimestamp
下一步执行实际的分析,在这种情况下,我会叫轮廓的HuffFramework OpenCL的应用使用:
COMPUTE_PROFILE=1 COMPUTE_PROFILE_CONFIG=nvvp.cfg ./HuffFramework
这就产生了一系列opencl_profile的_ *日志文件,其中*是线程数。
这些日志文件不能被nvvp被加载,只是还没有,因为所有的内核函数的符号已经领先
OPENCL_
,而不是预期的CUDA_
,从而具有快速更换的脚本这些符号,像这样:sed 's/OPENCL_/CUDA_/g' opencl_profile_0.log > cuda_profile_0.log
现在可以通过nvvp导入cuda_profile_0.log,方法是启动nvvp并进入File-> Import ...-> Command-line Profiler,将其指向cuda_profile_0.log并将其前导!
- 1. 无法使用NVidia Visual Profiler剖析OpenCL代码
- 2. 如何在Nvidia GPU上调试OpenCL?
- 3. 使用NVIDIA Compute Visual Profiler的错误
- 4. 在Mingw Nvidia SDK上编译OpenCL
- 5. 在Ubuntu 14.04和Nvidia上安装OpenCL
- 6. OpenCL内核在Nvidia GPU上使用多少寄存器?
- 7. Nvidia GPU上的OpenCL ATI Stream SDK
- 8. Nvidia和AMD硬件上的OpenCL FFT?
- 9. Nvidia Tesla上的OpenCL:找不到平台
- 10. 如何在Android上使用OpenCL?
- 11. 如何从NVidia Visual Profiler(nvvp)导出数据?
- 12. 使用OpenCL写入Nvidia设备上的纹理内存
- 13. 使用NVIDIA Nsight 2.1和Visual Studio 2010调试OpenCL
- 14. 如何使用GCC与Windows 7上的NVIDIA工具包编译和链接OpenCL?
- 15. OpenCL支持Nvidia GTX 295
- 16. 问题与Linux上的opencl
- 17. 在Visual Studio 2010下使用NVIDIA Tools Extension
- 18. NVIDIA Visual Profiler,Visual Studio 2010中的调试和发布模式
- 19. NVIDIA Parallel Nsight和OpenCL
- 20. openCL clGetDeviceIds seg fault(在Linux SUSE发行版(armv7)上使用openCL的imx6(Freescale))
- 21. 在Linux和IDE中使用OpenCL
- 22. AIR - 使用Sytem Profiler的NativeProcess在Mac上
- 23. Nvidia Tegra Profiler 1.0崩溃
- 24. 如何在Linux上使用cuda 4.2 profiler在GTX480上分析L1和L2缓存命中率?
- 25. 在Linux上使用
- 26. 如何在Linux上
- 27. NVidia是否支持OpenCL SPIR?
- 28. 如何在Windows 7上使用npm安装v8-profiler?
- 29. 如何在Linux上使用Vtune Analyzer API
- 30. 如何使用-clean在Linux上
的[有没有一种方法来分析在OpenCL或pyOpenCL程序?(可能的复制http://stackoverflow.com/questions/29068229/is-there-a-way- to-profile-an-opencl-or-a-pyopencl-program) – Dschoni
在http://stackoverflow.com/questions/29068229/is-there-a-way-to-profile-an-opencl-or上查看我的答案-a-pyopencl-program/35016313#35016313 – Dschoni