Отстраняване на грешки в OpenCL с NVIDIA Nsight 2.1 и Visual Studio 2010

Доколкото знам, Nvidia Nsight 2.1 дава възможност за отстраняване на грешки в OpenCL код. Преминах всички изисквания на Nsight Monitor (деактивиране на WDDM, деактивиране на aero, инсталиране на драйвери за разработка, свързване към втора графична карта), но все още не мога да отстраня грешки в кода си.

Използването на „Стартиране на отстраняване на грешки в CUDA“ във VS 2010 завършва с известие:

Беше създаден CUDA контекст на GPU, който в момента не може да се отстранява. Точките на прекъсване ще бъдат деактивирани.

Адаптер: GeForce GTX 590

Моето C++ решение беше създадено с помощта на cmake и не добавих източници на ядрото (*.cl) към моето решение. Моето приложение чете изходните кодове на ядрото от файл и ги компилира. И така, как мога да задам някакви точки на прекъсване в моите ядра?


person Krzysztof Bzowski    schedule 28.02.2012    source източник


Отговори (3)


Parallel Nsight 2.1 поддържа проследяване на OpenCL 1.1 с помощта на Nsight > New Analysis Season.

Parallel Nsight 2.1 CUDA Debugger не поддържа отстраняване на грешки на ниво източник на OpenCL ядра. Отстраняването на грешки на ниво източник се поддържа само за CUDA ядра, стартирани чрез CUDA Runtime API и CUDA Driver API.

person Greg Smith    schedule 29.02.2012

Не, NVIDIA Nsight няма възможност за отстраняване на грешки в OpenCL код, NVIDIA не поддържа отстраняване на грешки на ниво източник за OpenCL ядра. NVIDIA поддържа само отстраняване на грешки на CUDA или DirectX11 DirectCompute ядра, но не и OpenCL.

Вместо това може да помислите за AMD или Intel. AMD CodeXL ви позволява да добавяте точки на прекъсване в OpenCL ядра, дори когато ги изпълнявате на GPU.

person Erwin Coumans    schedule 22.12.2012

имате нужда от две графични карти, за да използвате Nsight за отстраняване на грешки

person perise    schedule 28.02.2012
comment
Както споменах преди - бях свързал монитор към втора карта. Беше Intel HD2000. - person Krzysztof Bzowski; 28.02.2012