Halide에서 생성 된 OpenCL 코드가 포함 된 파일을 생성 할 수 있습니까? Halide 프로그램에서 c 파일을 만들려고했는데 opencl이라는 타겟이 있었지만 openc의 특정 코드는 보이지 않습니다.Halide : OpenCL 코드 생성
편집 1 :
나는 커널은 할로겐에서 만든 특히 어떻게보고 싶습니다. 이런 식으로 뭔가 :
static char kernelSourceCode[] = kernel void test_kernel(int a, int b, __global int *out) { out[0] = a + b; }
편집 2 :
좋아, 내가 ENV 변수에 HL_DEBUG_CODEGEN = 1을 넣어 코드 set_target (대상 : 디버그)에서 설정합니다. 일부 코드는 OpenCL 코드 였지만 여전히 커널 특수 코드는 볼 수없는 코드가 화면에 나타납니다.
커널에 관한 두 줄이 화면에 표시됩니다. 뭔가 있을까요? 나는이 같은 기능이 예에서
kernel void _at_least_one_kernel(int x) { }
:
gradient(x, y) = x + y;
커널 내부의 함수이다
OpenCL kernel: /*OpenCL C*/
은 다음 또한 라인이 내가 OpenCL을 목표로하고 싶다면? 여기
"compile_to_c"함수를 사용하여 Halide 코드에서 C 소스 파일을 생성합니다. Halide가 만든 opencl 코드를보기 위해 어떻게 든 비슷한 파일이나 출력을 얻고 싶습니다. 또는 그것이 가능한지 아는 것. – jussijii
업데이트 된 답변을 확인하십시오. 더 적합한'compile_to' 메소드가 있습니다. – deimus