I would like to know if there is an API or some tool like GDRCopy but that doesn’t limit memory access on the gpu to the same process. I also noticed the IPC API but there doesn’t seem to be any support for cudaMallocManaged memory ; cuda-samples/Samples/0_Introduction/simpleIPC/simpleIPC.cu at master · NVIDIA/cuda-samples · GitHub and also maybe someone could help me understand why this isn’t supported on ARM
Hi,
Please check if MPS can meet your requirements:
MPS (Multi-process service) is now supported on L4T and embedded-Linux Tegra platforms. More details can be found here.
Thanks.
My understanding is that MPS is designed for compute concurrency by sharing a single GPU context. However, my requirement is to share data directly between processes. What is the appropriate CUDA mechanism/other for enabling one process to access a GPU memory allocation created by another?(zero-copy)
Hi,
Please find below information in our document:
Since CUDA 11.5, only events-sharing IPC APIs are supported on L4T and embedded Linux Tegra devices with compute capability 7.x and higher. The memory-sharing IPC APIs are still not supported on Tegra platforms. EGLStream, NvSci, or the
cuMemExportToShareableHandle()/cuMemImportFromShareableHandle()APIs can be used to communicate between CUDA contexts in two processes.
Thanks.