When I use the new Cuda 4.1 IPC functionality (which is REALLY useful by the way NVIDIA guys) on a Linux system, I have cuda.shm.ipc.ctx.XXXXXXX entries left over in the /dev/shm directory after the application closes. The only way I can seem to remove them currently is to call cudaDeviceReset() before exiting the application. I would like a more programmatic way to do this, but I don’t see anything in the Reference Manual. Is there any other way to do it?
When I use the new Cuda 4.1 IPC functionality (which is REALLY useful by the way NVIDIA guys) on a Linux system, I have cuda.shm.ipc.ctx.XXXXXXX entries left over in the /dev/shm directory after the application closes. The only way I can seem to remove them currently is to call cudaDeviceReset() before exiting the application. I would like a more programmatic way to do this, but I don’t see anything in the Reference Manual. Is there any other way to do it?
known bug, we’re working on it
known bug, we’re working on it
tmurray–wow, fast reply! Thank you for the response.
tmurray–wow, fast reply! Thank you for the response.
CUDA creates two /dev/shm/ entries for each context with exported events or memory.
To avoid leaving these behind, make sure you destroy your contexts before exiting.
This can be done with cudaDeviceReset() in cudart and cuCtxDestroy(ctx) when using the driver API.
CUDA creates two /dev/shm/ entries for each context with exported events or memory.
To avoid leaving these behind, make sure you destroy your contexts before exiting.
This can be done with cudaDeviceReset() in cudart and cuCtxDestroy(ctx) when using the driver API.