Это может быть «возможно», но, скорее всего, неосуществимо и непрактично. Интерпретаторы по своей сути являются последовательными процессорами. Вам нужно будет создать интерпретатор для каждого потока (или, по крайней мере, для каждой группы потоков, использующей разделяемую память, но тогда вам придется иметь дело с потоками, топающими друг друга, если они используют один и тот же экземпляр интерпретатора). Большинство видеокарт не имеют памяти для этого. Я полагаю, вы могли бы сопоставить разделяемую память хоста, чтобы обойти это.
Итог.
Возможно, да, но вы бы потерпели поражение в том, чтобы OpenCL был быстрым, и он был бы буквально в сотни, если не в миллионы раз медленнее и чрезвычайно трудным для реализации.