Мне кажется, что многие параметры ядра OpenCL можно упростить. Самое элементарное, о чем можно подумать, это реализовать:
clSetKernelArgs(cl_kernel kernel, unsigned num_args, ...)
и затем для каждого аргумента можно прочитать либо триплет arg_index, arg_size и value, либо пару arg_size и arg_value, либо даже просто аргумент (если можно как-то выяснить в impl, что такое типы подписи).
Разве это не реализовано где-то как часть стандарта?
Замечания: Меня интересует как C, так и C ++ код.
Задача ещё не решена.
Других решений пока нет …