みなさん、こんにちは。例として、2 つの openCL カーネルを考えてみましょう。
追加カーネルは
__kernel void add(global int *output1,global int *input1,global int *input2
/* Put other parameters here */
)
{
int i = get_global_id(0);
output1[i] = input1[i] + input2[i];
}
サブカーネルは
__kernel void add(global int *output2,global int *input1,global int *input2
/* Put other parameters here */
)
{
int i = get_global_id(0);
output2[i] = input1[i] - input2[i];
}
2 つの入力が同じであるこれら 2 つのカーネルの場合、同じ入力 (input1 と input2) をホスト メモリからデバイスに 2 回コピーする必要があり、パフォーマンスの点でコストがかかる場合があります。
データを一度コピーして、メモリを解放しないまで任意の関数で再利用できる方法はありますか?