I need a way to communicate data between blocks. The kernel has many blocks each of which operate on some data and arrive at some results. And, Each block has to communicate some results (say 5 integers) to the previous block.
Like this: Block n needs to communicate data to Bloc (n-1)
Block (n-1) needs to accept data from Block N and communicate some
data to Block (n-2)
And so on.
Will this be possible by making use of “Atomic” operations?
I am interested in the case where the number of blocks is more i.e. more than what it takes to keep all the 16 multiprocessors busy. Thus, you may have a block that would be ready to accept data BUT the “producer” block would NOT have been scheduled yet and so on.