OpenCL 프로그램을 성공적으로 실행하기 위해 Intel HD Graphics 4000 GPU가있는 OpenCL 용 Intel SDK를 사용하고 있습니다. 필자는 Nvidia 라이브러리가 설치되어 있으므로 인텔 OpenCL 라이브러리와 연결되도록했습니다.OpenCL 용 Intel SDK에서 printf 또는 디버거를 사용할 수 없습니다.
그러나, 커널에 printf()
전화를 퍼팅 clBuildProgram에 다음과 같은 옵션을 오픈 CL 컴파일러 오류를 비주얼 스튜디오 2012 플러그인에서
error: implicit declaration of function 'printf' is not allowed in OpenCL
또한, 내가 설정 한의 OpenCL 커널 디버깅을 제공하고, 통과 :
"-g -s C:\\Path\\to\\my\\program.cl"
그러나 커널 중단 점은 건너 뜁니다.
The breakpoint will not currently be hit. No symbols have been loaded for this document.
내 커널은 별도의 .cl 파일에, 나는 중단 점을 C/C++ 코드를 내가하고자하는 방식을 설정 해요 : 브레이크 포인트를 통해 마우스를 가져 가면 메시지를 제공합니다. 이 방법은 OpenCL 디버거 용 인텔 SDK를 사용하여 중단 점을 설정하는 올바른 방법입니까?
printf()
호출 및 중단 점이 OpenCL 용 인텔 SDK에서 작동하지 않는 이유는 무엇입니까?
성명 앞에 어딘가에'#pragma OPENCL EXTENSION cl_intel_printf : enable'을 추가하여 printf를 활성화 했습니까? –
@MatthiasHolzapfel 예, 시도했습니다. –
안녕하세요, 이전에 직면 한 것과 동일한 문제가 있습니다. 커널을 디버그 할 수 없으며 중단 점이 적중되지 않습니다. Visual Studio 2010과 함께 Intel OpenCL SDK 2014를 사용하고 있습니다. 솔루션을 찾았 으면 솔루션 – Steve