生成された OpenCL コードを含むファイルを Halide で生成することは可能ですか? 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 を env 変数に入れ、コード set_target(Target::Debug) に設定します。画面にたくさんのコードが表示されました。そのうちのいくつかは OpenCL コードでしたが、カーネル固有のコードはまだ表示されません。
カーネルについて示す 2 つの行が画面に表示されます。何かあるはずですか?
OpenCL kernel:
/*OpenCL C*/
次に、次の行もあります。
kernel void _at_least_one_kernel(int x) { }
たとえば、次のような関数があるとします。
gradient(x, y) = x + y;
OpenCL をターゲットにしたい場合、関数はカーネル内にありますか?