Можно ли в OpenCL взять массив, содержащий сборку GCN, и выполнить его (JIT)?
Я относительно новичок в OpenCL, и мне было интересно об этом. Я слышал, что на некоторых процессорах AMD можно выполнять JIT через OpenCL. Если бы это работало синтаксически, как в С ++, я бы просто написал что-то вроде:
uint jitCode[MaxProgramSize];
ulong arguments[ArgumentsSize];
//fill jitCode with gcn bytecode, load up arguments
...
//Run the bytecode
void(*executeProgram)(ulong*);
executeProgram = (void(*)(ulong*)jitCode;
executeProgram(arguments);
Конечно, что-то подобное дает мне ошибку -11.
Можно ли это сделать, и если да, то как это сделать правильно?
... второе наблюдение, если это можно сделать, каковы соглашения о вызовах в OpenCL?