是否可以在 Halide 中生成包含生成的 OpenCL 代码的文件?我试图从一个目标是 opencl 的 Halide 程序生成 ac 文件,但我在那里看不到任何 opencl 特定代码。
编辑1:
我特别想看看如何在 Halide 中创建内核。像这样的东西:
static char
kernelSourceCode[] =
kernel void test_kernel(int a, int b, __global int *out)
{
out[0] = a + b;
}
编辑2:
好的,我将 HL_DEBUG_CODEGEN=1 放入环境变量并在代码 set_target(Target::Debug) 中设置。我在屏幕上看到一堆代码,其中一些是 OpenCL 代码,但我仍然看不到任何内核特定代码。
屏幕上有两行表示内核。应该有什么吗?
OpenCL kernel:
/*OpenCL C*/
然后还有一行:
kernel void _at_least_one_kernel(int x) { }
例如,如果我有这样的功能:
gradient(x, y) = x + y;
如果我想以 OpenCL 为目标,该函数是否在内核中?