Межпроцессное взаимодействие CUDA

Я пытаюсь понять межпроцессное взаимодействие в CUDA. Мне нужна помощь в понимании этой концепции и попытке применить ее к проекту, который я делаю.

У меня есть система получения изображений, которая обеспечивает N количество входных изображений. Каждое необработанное входное изображение сначала обрабатывается, а затем сохраняется в единственной переменной под названием «Результат». Есть четыре функции, которые выполняют обработку изображения: Aprocess, Bprocess, Cprocess и Dprocess. Каждый раз, когда система получает новое изображение, для выполнения обработки вызываются четыре функции, упомянутые выше. Окончательное изображение «Результат» сохраняется в Dprocess.

Что я хотел бы сделать, это: Создайте новый процесс, «process2», где я могу передать одно (окончательное) изображение, сохраненное в «Result», каждый раз, когда это изображение получено, и поместить его в буфер с именем «Images». Я хотел бы сделать это для 10 изображений. 'process2' должен дождаться, когда ему будет передано новое изображение, и не завершаться, потому что первый процесс должен продолжать вызывать четыре функции и получать окончательное обработанное изображение.

Что я натолкнулся так далеко: cudaIpcGetMemHandle, cudaIpcOpenMemHandle и cudaIpcCloseMemHandle

Вопрос: Как использовать вышеупомянутые имена функций для достижения IPC?