2012-08-23 121 views
3

我正在嘗試使用nvvp來剖析opencl內核。 我使用GTX 580運行ubuntu 12.04 64b,並驗證了CUDA工具包工作正常(我可以運行和配置cuda代碼)。 當試圖調試我的opencl代碼時,我得到:
Warning: No CUDA application was profiled, exiting
任何提示?如何在OpenCL上使用NVidia Visual Profiler(在Linux上)?

+0

的[有沒有一種方法來分析在OpenCL或pyOpenCL程序?(可能的複製http://stackoverflow.com/questions/29068229/is-there-a-way- to-profile-an-opencl-or-a-pyopencl-program) – Dschoni

+0

在http://stackoverflow.com/questions/29068229/is-there-a-way-to-profile-an-opencl-or上查看我的答案-a-pyopencl-program/35016313#35016313 – Dschoni

回答

0

nvvp只能配置CUDA應用程序。

+0

儘管我在NVidia的文檔中找不到任何地方,但我還是很擔心...是否有其他選擇? –

+1

雖然它仍然是一個正在開發的項目,但您可以使用LTPV獲取OpenCL應用程序的時間軸視圖:http://code.google.com/p/ltpv/ –

+0

實際上,這不是100%真實的。 http://uob-hpc.github.io/2015/05/27/nvvp-import-opencl/ – Dschoni

2

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並將其前導!

enter image description here

相關問題