I’m wondering about this: if I have two processes which connect to the same card and issue kernel calls are the kernels queued i.e. run sequentially? I think they are.
Similarly, if process 1 issues a mem cpy to the card and a kernel from process 2 is running does the mem copy get queued or run concurrently?
Regarding streams, the manual says that: ‘Applications manage concurrency through streams. A stream is a sequence of operations that execute in order. Different streams, on the other hand, may execute their operations out of order with respect to one another or concurrently.’
This seems to imply that the operations in two streams can execute concurrently. Is this true? How can two kernels execute concurrently?