Forum Discussion
Altera_Forum
Honored Contributor
12 years agoUnless your post has a typo the memory block utilization is way above 100% The number of RAMs being requested is 262144 and the device you are using probably only has around ~2500 RAM blocks. I suspect what is happening is you are requesting a work-group size of 1,1,1, and the compiler is attempting to create hardware that can have multiple work-groups in flight. As a result 4MB would be needed for each work-group in flight so that would be a lot of local memory. One other thing to keep in mind is that on-chip RAM blocks are used for other things than just the __local buffers as well.
__local buffers are not preserved between kernel invocations. They are not cleared out between invocations but the compiler also makes no attempt preserve them either so if the data happens to persist I wouldn't rely on that behavior.