Forum Discussion
Altera_Forum
Honored Contributor
11 years ago --- Quote Start --- Your previous question asked how to effectively share a local memory across kernels. That's the definition of a global memory, so if at all possible, I would suggest re-working your multiple kernels to either: (1) share global memory instead of local; or (2) find a reasonable balance between local memory sizes such that each kernel can have its own local mem. If you care about throughput/performance and not just fitting multiple kernels each requiring massive local memory onto the chip (at the cost of performance), then fusing kernels is probably not the best way to go. --- Quote End --- To the point of "data sharing between kernels", I can also add (3) use channel instructions (the most efficient way of communicating data between kernels), if kernels have producer-consumer type relationship, i.e. data produced by a kernel can be sent to another kernel via channels. However, if multiple kernels needs to access/update the same address simultaneously, this is not the right model. You can find more information on how to use channel instructions in the "Programming Guide"