Can a kernel loaded on a card be executed in a loop, or somehow be told to run all the time, either synchronizable, stoppable or restartable (thus controlled) by the host CPU by sending events in queue?
I understand that possibly no one would ever want or need this, but I'm doing some research here that envisions a system that always has a certain changing state over time, partly influenced by input parameters but also influenced by a kind of execution context. I use Stream to simulate and experiment on these ideas before taking further steps.
Possibly, the thing that comes closest is the manipulation of a stream of data from video, which need to be converted or transposed to some other format or enlarged, etc. How do those applications handle this. Do they simply enqueue a new run request for the kernel with a new set of input parameters that became available?