Comunicación Interproceso CUDA

Estoy tratando de entender la comunicación entre procesos en CUDA. Me gustaría algo de ayuda para poder entender este concepto y tratar de aplicarlo a un proyecto que estoy haciendo.

Tengo un sistema de adquisición de imágenes que proporciona N número de imágenes de entrada. Cada imagen de entrada sin procesar se procesa primero y luego, se almacena en una sola variable llamada 'Resultado'. Hay cuatro funciones que hacen el procesamiento de la imagen, Aprocess, Bprocess, Cprocess y Dprocess. Cada vez que el sistema adquiere una nueva imagen, se llama a las cuatro funciones mencionadas anteriormente para realizar el procesamiento. La imagen final 'Resultado' se almacena en Dprocess.

Lo que me gustaría hacer es: Cree un nuevo proceso, 'proceso2', donde pueda entregar una imagen (final) almacenada en 'Resultado', cada vez que se obtenga esa imagen, y colocarla en un búfer llamado 'Imágenes'. Me gustaría hacer esto por 10 imágenes. 'process2' debe esperar a que se le pase una nueva imagen y no terminar porque el primer proceso debe seguir llamando a las cuatro funciones y obtener una imagen procesada final.

Lo que he encontrado hasta ahora: cudaIpcGetMemHandle, cudaIpcOpenMemHandle y cudaIpcCloseMemHandle

Pregunta: ¿Cómo utilizo los nombres de funciones anteriores para lograr IPC?

Respuestas a la pregunta(1)

Su respuesta a la pregunta