Я относительно новичок в OpenCL и задавался вопросом об этом. Я слышал, что можно было JIT на некоторых AMD AMD через OpenCL. Теперь, если бы это работало синтаксически, как в c ++, я бы просто написал что-то вроде:
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?