Предполагая, что вы можете изменять программы, вы можете использовать дополнительные устройства.Это позволяет вам разделить одно устройство OpenCL на несколько с непересекающимися вычислительными блоками, теоретически позволяя действительно параллельное выполнение двух или более ядер.Однако я полагаю, что для этого потребуется запустить оба ядра из одной и той же хост-программы, что может оказаться для вас нецелесообразным.
Точный способ разбиения устройства зависит от ваших потребностей, поэтому я бы порекомендовал Прочтите справочное руководство о разбиении устройства.Могут быть и другие узкие места, препятствующие параллельному выполнению, в зависимости от того, как настроена ваша система и как программы используют OpenCL.