我对 OpenCL 比较陌生,对此感到疑惑。我听说可以通过 OpenCL 在某些 AMD gpus 上进行 JIT。现在,如果这要像在 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 中的调用约定是什么?