/ / Punkty przerwania nie działają w jądrze OpenCL przy użyciu Cloo (C # wrapper dla OpenCL) i Intel SDK - c #, visual-studio, opencl, intel, cloo

Punkty przerwania nie działają w jądrze OpenCL przy użyciu Cloo (C # wrapper dla OpenCL) i Intel SDK - c #, visual-studio, opencl, intel, cloo

Rozwijam OpenCL zgłoszenie w DO# z Cloo. Dostaję dziwne wartości z mojego urządzenia (procesor Intel), więc zdecydowałem się użyć debuggera OpenCL, aby ustawić niektóre punkty przerwania w jądrze. Są one ignorowane, mimo że włączyłem Intel Debugger</ strong> w Wizualny Studio</ strong> 2012</ strong>. Może powinienem zbudować program używając ścieżki jądra, a nie łańcucha zawierającego źródło, ale nie mogę znaleźć sposobu, aby to zrobić używając Cloo.

Oto sposób, w jaki buduję program:

program = new ComputeProgram(context, kernelSource);
program.Build(devices, "-g", null, IntPtr.Zero);

gdzie kernelSource jest łańcuchem zawierającym OpenCL źródło. Z góry dziękuję!

Odpowiedzi:

2 dla odpowiedzi № 1

Musisz zbudować swój program za pomocą "-g -s",gdzie powinien zawierać plik .cl, który próbujesz zbudować. Upewnij się także, że w twoim jądrze nie ma plików #include. Jeśli nic nie działa, ustaw zmienne środowiskowe:

INTEL_OCL_DBG_LOG = 1 INTEL_OCL_DBG_LOG_FILE = c: tempdebugger.txt

i ponownie uruchom Visual Studio. Kontynuuj debugowanie. Spowoduje to wygenerowanie pliku dziennika, który pozwoli nam określić, dlaczego debugowanie nie działa. Możesz przesłać ten dziennik na adres http://software.intel.com/en-us/forums/intel-opencl-sdk. To jest miejsce, w którym można również przesyłać problemy / zadawać pytania dotyczące pakietu Intel OpenCL SDK.

Dzięki.