Как вы указали, Aparapi не допускает никаких новых форм в теле ядра, однако вы можете предварительно выделить буфер целых чисел, к которому имеет доступ код ядра.
Кроме того, поскольку вы можете определить размер группы во время выполнения, ваш буфер не обязательно должен быть огромным, но есть некоторая разумная пропорция / отношение Kernel.getGroupSize ().
Конечно, вам нужно будет преобразовать аргументы из String в char [], чтобы удовлетворить объектное ограничение Aparapi (строки не допускаются), но я думаю, что из аналогичного потока в списках обсуждений aparapi вы уже нашли обходной путь для этого.
Если вы готовы экспериментировать с некоторым «экспериментальным кодом», у меня есть ветка в SVN с тегом SupportLocalMemory, которая позволит вам поместить ваш временный буфер int [] в локальную память, что также должно быть более производительным.
Гари