cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

toonstge
Journeyman III

Looping kernels?

Hi there,

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? 

 

0 Likes
1 Reply
genaganna
Journeyman III

Originally posted by: toonstge Hi there,

 

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? 

 

 



As you said that the only way to do this is simple enqueue a new run request for the kernel with a new set of input parameters that become available.  I feel it is sufficient for you. Could you please explain case(s) where it is not sufficient or not solve your problem?

0 Likes