Application concurrency

Can anyone tell me what happens when 2 opencl applications using same GPU are run simultaneously?

Time sharing. Only one kernel can be run at a given time. Kernel submissions happen on a first come first serve basis. For example if they both want to submit a 1 hour kernel, the second in line would have to wait before it’s kernel will start to run.

That is unless you put the device into exclusive mode, in which case the second application won’t be able to create a context on the device at all.