Transferencias superpuestas y cálculo de dispositivos en OpenCL

Soy un principiante con OpenCL y tengo dificultades para entender algo. Quiero mejorar las transferencias de una imagen entre el host y el dispositivo. Hice un esquema para entenderme mejor.

Top: lo que tengo ahora | En la parte inferior: lo que quiero HtD (Host to Device) y DtH (Device to Host) son transferencias de memoria. K1 y K2 son núcleos.

Pensé en usar memoria de mapeo, pero la primera transferencia (Host to Device) se realiza con el comando clSetKernelArg (), ¿no? ¿O tengo que cortar mi imagen de entrada en sub-imagen y usar el mapeo para obtener la imagen de salida?

Gracias.

Edit: Más información

K1 proceso de imagen de entrada de mem. K2 procesa la imagen de salida de K1.

Por lo tanto, quiero transferir MemInput en varias piezas para K1. Y quiero leer y guardar en el host el MemOuput procesado por K2.

Respuestas a la pregunta(4)

Su respuesta a la pregunta