OpenCL에서 디버깅을 위해 수동으로 예외를 던질 수 있습니까? 내 코드에서 아주 이상한 오류가 발생했습니다 : 두 개의 이중 값을 계산하여이를 더하면 호스트는 "CL_OUT_OF_RESOURCE"를보고합니다. 그러나이 두 값을 추가하지 않으면 호스트에서 오류를보고하지 않습니다.OpenCL : 수동으로 커널에 예외를 던지십시오.
4
A
답변
1
예외는 OpenCL에서 지원되지 않습니다. 이는 C99 언어를 기반으로합니다.
AMD GPU에서는 printf
을 커널 내부에 사용할 수 있습니다 (cl_amd_printf
확장 참조). 이것을 사용하려면 .cl 파일의 맨 위에 넣으십시오.
+1
Intel OpenCL SDK는 기본적으로 printf를 지원합니다. – aaronqli
+0
@Polymorpher 이는 Intel CPU OpenCL 장치에만 해당됩니다. 'printf'는 SDK를 통하지 않고 컴파일러에서 (드라이버를 통해) 제공됩니다. 사용중인 SDK는 중요하지 않습니다. 중요한 장치 (및 드라이버)입니다. –
관련 문제
- 1. GWT. onFailure() 안에 예외를 던지십시오
- 2. 의 OpenCL 형식 변환 내 OpenCL을 커널에 문 들어
- 3. OpenCL 커널에 C++ 벡터를 전달하고 액세스하는 방법은 무엇입니까?
- 4. 많은 메모리 개체의 OpenCL 커널에 알리는 적절한 방법은 무엇입니까?
- 5. Java OpenCL : JOCL의 커널에 스칼라 매개 변수 전달
- 6. 초보자 : 새로운 예외를 던지십시오 - 예외 이름을 바꿀 수 있습니까?
- 7. WiX에서 경고를 던지십시오.
- 8. 커널에 연결
- 9. Crittercism을 사용하여 수동으로 예외를 보내려면 어떻게해야합니까?
- 10. OpenCL, 포함 파일
- 11. OpenCL 데이터를 RAM에서 삭제
- 12. 다른 컨텍스트 사이에서 OpenCL 메모리 객체 공유하기
- 13. 사용 Ninject에 수동으로 객체
- 14. 마침내 닫기 전에 최대 절전 모드를 사용하는 catch 블록에서 예외를 던지십시오.
- 15. 독점 커널에 OProfile을 설치하십시오.
- 16. Application_Start에서 ninject 커널에 액세스
- 17. 리눅스 커널에 기여하고 싶습니다.
- 18. 커널에 ping 소스가 있음
- 19. 커널에 perror가 있습니까?
- 20. 안드로이드 커널에 objdump
- 21. 잘못된 계산을 생성하는 OpenCL
- 22. 다른 OpenCL 커널에서 OpenCL 커널 호출
- 23. facebook에 연결 non digid jid로 xmpp을 던지십시오.
- 24. 모집단 계산 알고리즘에 대한 약간의 설명을 던지십시오.
- 25. opencl 동기화
- 26. pthreads와 opencl
- 27. OpenCL floatn이 사용자 정의 구조체와 다른 점
- 28. OpenCL 장치 고유성
- 29. 수동으로 예외를 포착 할 때 시스템 예외가 발생할 수 있습니까?
- 30. 안드로이드 커널에 커널 모듈 설치
커널 내부에는 예외 나 try/catch 블록을 쓸 수 없습니다. CL_OUT_OF_RESOURCE는 여러 가지 이유로 인해 발생할 수 있습니다. 호스트와 커널 코드를 게시 할 수 있습니까? AMD, Intel, NVIDIA 등 하드웨어 구성에 대해서도 알려주십시오. – kiranputtur
@ocluser 귀하의 도움에 감사드립니다. 그러나 제가 작업하고있는 코드는 아직 발표 된 논문의 알고리즘을 기반으로합니다. 나는 그 논문이 출판되기 전까지 아무 것도 공개 할 수 없다. NVIDIA 플랫폼 (GTX460M)에서 AMD 플랫폼 (Radeon HD5850)으로 전환 한 후에 문제가 사라진 것 같습니다. – aaronqli