I am running 10.04 with nvidia driver 260.19.21, and cuda 3.2.16. In my application I often run multiple processes with cuda contexts on the same card ( used for decoding filters on multiple received streams ). The processes themselves can be persistent, so it will create a new cuda context ( in a new thread ) multiple times in the same linux process.
Under seemingly random conditions, but normally within an hour or two we have significant problems with either initialization ( a cudaMalloc() ), run time ( a cudaThreadSynchronize() ), or cleanup ( cudaFreeArray() ). If it is either of the first problems ( init or run-time ) to fix the problem i have to stop and start the linux process, which seems to cleanup the driver / gpu and any cuda code after works fine.
Is there anything I can do?
One thing I noticed is the driver that is ‘paired’ with cuda 3.2.16 is 260.19.26, and I am un-sure of wether it is recommended that this would be more stable?
Our code uses textures, and I am wondering wether textures would possibly make this problem worse?